On Saturday 11 June 2011 10:19:40 Ulrich Eckhardt wrote:
> I'm trying to create a patch which does just that, which I'll post lateron.

Here it comes.

There are a few observations which I'm not sure how to resolve:
1. configure.ac
There is a check for the Xcursor support, which uses "-l Xrender" as 
additional library. I wonder if that is necessary.

2. ecore_evas
There is a switch over the different engine types, where there are still a few 
places left where XRender is handled, grep for "xrender" or "XRENDER" and you 
will find them. The question is whether to just return NULL in order to signal 
that this engine is not supported or to remove the whole thing. The latter 
could break binary compatibility, therefore I left those stubs in.

3. ecore_x
This uses XRender when ECORE_XRENDER is defined and looking at 
_ecore_x_composite_init() it seems to really want that. I'm not sure how to 
handle that case, so I left all that in and really only adapted the ecore_evas 
part.

Cheers!

Uli

Index: src/lib/ecore_evas/ecore_evas_x.c
===================================================================
--- src/lib/ecore_evas/ecore_evas_x.c	(revision 60229)
+++ src/lib/ecore_evas/ecore_evas_x.c	(working copy)
@@ -13,11 +13,9 @@
 #else
 # undef BUILD_ECORE_EVAS_OPENGL_X11
 # undef BUILD_ECORE_EVAS_SOFTWARE_X11
-# undef BUILD_ECORE_EVAS_XRENDER_X11
 #endif
 
 #ifndef HAVE_ECORE_X_XCB
-# undef BUILD_ECORE_EVAS_XRENDER_XCB
 # undef BUILD_ECORE_EVAS_SOFTWARE_XCB
 #endif
 
@@ -508,36 +506,6 @@
           }
 #endif /* BUILD_ECORE_EVAS_SOFTWARE_X11 */
      }
-   else if (!strcmp(ee->driver, "xrender_x11"))
-     {
-#if defined (BUILD_ECORE_EVAS_XRENDER_X11) || defined (BUILD_ECORE_EVAS_XRENDER_XCB)
-        Evas_Engine_Info_XRender_X11 *einfo;
-
-        einfo = (Evas_Engine_Info_XRender_X11 *)evas_engine_info_get(ee->evas);
-        if (einfo)
-          {
-             unsigned int    foreground;
-             Ecore_X_GC      gc;
-
-             if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
-             ee->engine.x.mask = ecore_x_pixmap_new(ee->prop.window, ee->w, ee->h, 1);
-             foreground = 0;
-             gc = ecore_x_gc_new(ee->engine.x.mask,
-                                 ECORE_X_GC_VALUE_MASK_FOREGROUND,
-                                 &foreground);
-             ecore_x_drawable_rectangle_fill(ee->engine.x.mask, gc,
-                                             0, 0, ee->w, ee->h);
-             ecore_x_gc_free(gc);
-             einfo->info.mask = ee->engine.x.mask;
-             if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
-               {
-                  ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
-               }
-             evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
-
-          }
-#endif /* BUILD_ECORE_EVAS_XRENDER_X11 || BUILD_ECORE_EVAS_XRENDER_XCB */
-     }
    else if (!strcmp(ee->driver, "software_16_x11"))
      {
 #if BUILD_ECORE_EVAS_SOFTWARE_16_X11
@@ -1597,7 +1565,6 @@
 _ecore_evas_x_rotation_set(Ecore_Evas *ee, int rotation, int resize)
 {
    if (ee->rotation == rotation) return;
-   if (!strcmp(ee->driver, "xrender_x11")) return;
    if (!strcmp(ee->driver, "opengl_x11"))
      {
 #ifdef BUILD_ECORE_EVAS_OPENGL_X11
@@ -1700,52 +1667,6 @@
           }
 #endif /* BUILD_ECORE_EVAS_SOFTWARE_X11 */
      }
-   else if (!strcmp(ee->driver, "xrender_x11"))
-     {
-#if defined (BUILD_ECORE_EVAS_XRENDER_X11) || defined (BUILD_ECORE_EVAS_XRENDER_XCB)
-        Evas_Engine_Info_XRender_X11 *einfo;
-
-        ee->shaped = shaped;
-        einfo = (Evas_Engine_Info_XRender_X11 *)evas_engine_info_get(ee->evas);
-        if (einfo)
-          {
-             if (ee->shaped)
-               {
-                  unsigned int    foreground;
-                  Ecore_X_GC      gc;
-
-                  if (!ee->engine.x.mask)
-                    ee->engine.x.mask = ecore_x_pixmap_new(ee->prop.window, ee->w, ee->h, 1);
-                  foreground = 0;
-                  gc = ecore_x_gc_new(ee->engine.x.mask,
-                                      ECORE_X_GC_VALUE_MASK_FOREGROUND,
-                                      &foreground);
-                  ecore_x_drawable_rectangle_fill(ee->engine.x.mask, gc,
-                                                  0, 0, ee->w, ee->h);
-                  ecore_x_gc_free(gc);
-                  einfo->info.mask = ee->engine.x.mask;
-                  if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
-                    {
-                       ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
-                    }
-                  evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
-                  ecore_x_window_shape_input_mask_set(ee->prop.window, 0);
-               }
-             else
-               {
-                  if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
-                  ee->engine.x.mask = 0;
-                  einfo->info.mask = 0;
-                  if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
-                    {
-                       ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
-                    }
-                  ecore_x_window_shape_mask_set(ee->prop.window, 0);
-                  ecore_x_window_shape_input_mask_set(ee->prop.window, 0);
-               }
-          }
-#endif /* BUILD_ECORE_EVAS_XRENDER_X11 || BUILD_ECORE_EVAS_XRENDER_XCB */
-     }
    else if (!strcmp(ee->driver, "software_16_x11"))
      {
 #if BUILD_ECORE_EVAS_SOFTWARE_16_X11
@@ -2068,100 +1989,6 @@
              //        putenv((char*)"DESKTOP_STARTUP_ID=");
           }
      }
-   else if (!strcmp(ee->driver, "xrender_x11"))
-     {
-#if defined (BUILD_ECORE_EVAS_XRENDER_X11) || defined (BUILD_ECORE_EVAS_XRENDER_XCB)
-        Evas_Engine_Info_XRender_X11 *einfo;
-
-        einfo = (Evas_Engine_Info_XRender_X11 *)evas_engine_info_get(ee->evas);
-        if (!einfo) return;
-        if (!ecore_x_composite_query()) return;
-
-        ee->shaped = 0;
-        ee->alpha = alpha;
-        ecore_x_window_free(ee->prop.window);
-        ecore_event_window_unregister(ee->prop.window);
-        if (ee->alpha)
-          {
-             if (ee->prop.override)
-               ee->prop.window = ecore_x_window_override_argb_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
-             else
-               ee->prop.window = ecore_x_window_argb_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
-             if (!ee->engine.x.mask)
-               ee->engine.x.mask = ecore_x_pixmap_new(ee->prop.window, ee->req.w, ee->req.h, 1);
-          }
-        else
-          {
-             if (ee->prop.override)
-               ee->prop.window = ecore_x_window_override_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
-             else
-               ee->prop.window = ecore_x_window_new(ee->engine.x.win_root, ee->req.x, ee->req.y, ee->req.w, ee->req.h);
-             if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
-             ee->engine.x.mask = 0;
-             ecore_x_window_shape_input_mask_set(ee->prop.window, 0);
-          }
-
-        einfo->info.destination_alpha = alpha;
-
-# ifdef BUILD_ECORE_EVAS_XRENDER_XCB
-        cookie_attr = xcb_get_window_attributes_unchecked(ecore_x_connection_get(), ee->prop.window);
-        reply_attr = xcb_get_window_attributes_reply(ecore_x_connection_get(), cookie_attr, NULL);
-
-        einfo->info.visual = reply_attr->visual;
-        free(reply_attr);
-# else
-        XGetWindowAttributes(ecore_x_display_get(), ee->prop.window, &att);
-        einfo->info.visual = att.visual;
-# endif /* ! BUILD_ECORE_EVAS_XRENDER_XCB */
-
-//        if (ee->engine.x.mask) ecore_x_pixmap_free(ee->engine.x.mask);
-//        ee->engine.x.mask = 0;
-        einfo->info.mask = ee->engine.x.mask;
-        einfo->info.drawable = ee->prop.window;
-        if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
-          {
-             ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
-          }
-        evas_damage_rectangle_add(ee->evas, 0, 0, ee->req.w, ee->req.h);
-        ecore_x_window_shape_mask_set(ee->prop.window, 0);
-        ecore_x_input_multi_select(ee->prop.window);
-        ecore_event_window_register(ee->prop.window, ee, ee->evas,
-                                    (Ecore_Event_Mouse_Move_Cb)_ecore_evas_mouse_move_process,
-                                    (Ecore_Event_Multi_Move_Cb)_ecore_evas_mouse_multi_move_process,
-                                    (Ecore_Event_Multi_Down_Cb)_ecore_evas_mouse_multi_down_process,
-                                    (Ecore_Event_Multi_Up_Cb)_ecore_evas_mouse_multi_up_process);
-        if (ee->prop.borderless)
-          ecore_x_mwm_borderless_set(ee->prop.window, ee->prop.borderless);
-        if (ee->visible) ecore_x_window_show(ee->prop.window);
-        if (ee->prop.focused) ecore_x_window_focus(ee->prop.window);
-        if (ee->prop.title)
-          {
-             ecore_x_icccm_title_set(ee->prop.window, ee->prop.title);
-             ecore_x_netwm_name_set(ee->prop.window, ee->prop.title);
-          }
-        ecore_x_icccm_hints_set(ee->prop.window,
-                                1 /* accepts_focus */,
-                                ECORE_X_WINDOW_STATE_HINT_NORMAL /* initial_state */,
-                                0 /* icon_pixmap */,
-                                0 /* icon_mask */,
-                                0 /* icon_window */,
-                                0 /* window_group */,
-                                0 /* is_urgent */);
-        _ecore_evas_x_group_leader_update(ee);
-        ecore_x_window_defaults_set(ee->prop.window);
-        _ecore_evas_x_protocols_set(ee);
-        _ecore_evas_x_sync_set(ee);
-#endif /* BUILD_ECORE_EVAS_XRENDER_X11 || BUILD_ECORE_EVAS_XRENDER_XCB */
-        if (getenv("DESKTOP_STARTUP_ID"))
-          {
-             ecore_x_netwm_startup_id_set(ee->prop.window,
-                                          getenv("DESKTOP_STARTUP_ID"));
-             /* NB: on linux this may simply empty the env as opposed to completely
-              * unset it to being empty - unsure as solartis libc crashes looking
-              * for the '=' char */
-             //        putenv((char*)"DESKTOP_STARTUP_ID=");
-          }
-     }
    else if (!strcmp(ee->driver, "software_16_x11"))
      {
 #if BUILD_ECORE_EVAS_SOFTWARE_16_X11
@@ -2682,19 +2509,6 @@
           }
 #endif
      }
-   else if (!strcmp(ee->driver, "xrender_x11"))
-     {
-#ifdef BUILD_ECORE_EVAS_XRENDER_X11
-        Evas_Engine_Info_XRender_X11 *einfo;
-
-        einfo = (Evas_Engine_Info_XRender_X11 *)evas_engine_info_get(ee->evas);
-        if (einfo)
-          {
-             einfo->info.drawable = ee->prop.window;
-             evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
-          }
-#endif
-     }
    else if (!strcmp(ee->driver, "opengl_x11"))
      {
 #ifdef BUILD_ECORE_EVAS_OPENGL_X11
@@ -2744,7 +2558,6 @@
 {
    if (ee->prop.avoid_damage == on) return;
    if (!strcmp(ee->driver, "opengl_x11")) return;
-   if (!strcmp(ee->driver, "xrender_x11")) return;
 
    if (!strcmp(ee->driver, "software_x11"))
      {
@@ -2998,7 +2811,7 @@
  * ecore_x_init in 2 functions and suppress some round trips.
  */
 
-#if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_OPENGL_X11) || defined (BUILD_ECORE_EVAS_XRENDER_X11) || defined (BUILD_ECORE_EVAS_XRENDER_XCB) || defined (BUILD_ECORE_EVAS_SOFTWARE_16_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_8_X11)
+#if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_OPENGL_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_16_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_8_X11)
 static void
 _ecore_evas_x_flush_pre(void *data, Evas *e __UNUSED__, void *event_info __UNUSED__)
 {
@@ -3691,269 +3504,56 @@
 /**
  * To be documented.
  *
- * FIXME: To be fixed.
+ * FIXME: To be fixed or maybe removed rather?
  */
-#if defined (BUILD_ECORE_EVAS_XRENDER_X11) || defined (BUILD_ECORE_EVAS_XRENDER_XCB)
-EAPI Ecore_Evas *
-ecore_evas_xrender_x11_new(const char *disp_name, Ecore_X_Window parent,
-                      int x, int y, int w, int h)
-{
-   Evas_Engine_Info_XRender_X11 *einfo;
-   Ecore_Evas *ee;
-   int rmethod;
-
-   rmethod = evas_render_method_lookup("xrender_x11");
-   if (!rmethod) return NULL;
-   if (!ecore_x_init(disp_name)) return NULL;
-   ee = calloc(1, sizeof(Ecore_Evas));
-   if (!ee) return NULL;
-
-   ECORE_MAGIC_SET(ee, ECORE_MAGIC_EVAS);
-
-   _ecore_evas_x_init();
-
-   ee->engine.func = (Ecore_Evas_Engine_Func *)&_ecore_x_engine_func;
-
-   ee->driver = "xrender_x11";
-   if (disp_name) ee->name = strdup(disp_name);
-
-   if (w < 1) w = 1;
-   if (h < 1) h = 1;
-   ee->x = x;
-   ee->y = y;
-   ee->w = w;
-   ee->h = h;
-   ee->req.x = ee->x;
-   ee->req.y = ee->y;
-   ee->req.w = ee->w;
-   ee->req.h = ee->h;
-
-   ee->prop.max.w = 32767;
-   ee->prop.max.h = 32767;
-   ee->prop.layer = 4;
-   ee->prop.request_pos = 0;
-   ee->prop.sticky = 0;
-   ee->engine.x.state.sticky = 0;
-
-   /* init evas here */
-   ee->evas = evas_new();
-   evas_event_callback_add(ee->evas, EVAS_CALLBACK_RENDER_FLUSH_PRE, _ecore_evas_x_flush_pre, ee);
-   evas_event_callback_add(ee->evas, EVAS_CALLBACK_RENDER_FLUSH_POST, _ecore_evas_x_flush_post, ee);
-   evas_data_attach_set(ee->evas, ee);
-   evas_output_method_set(ee->evas, rmethod);
-   evas_output_size_set(ee->evas, w, h);
-   evas_output_viewport_set(ee->evas, 0, 0, w, h);
-
-   ee->engine.x.win_root = parent;
-   ee->prop.window = ecore_x_window_new(parent, x, y, w, h);
-   if (getenv("DESKTOP_STARTUP_ID"))
-     {
-        ecore_x_netwm_startup_id_set(ee->prop.window,
-                                     getenv("DESKTOP_STARTUP_ID"));
-        /* NB: on linux this may simply empty the env as opposed to completely
-         * unset it to being empty - unsure as solartis libc crashes looking
-         * for the '=' char */
-//        putenv((char*)"DESKTOP_STARTUP_ID=");
-     }
-   einfo = (Evas_Engine_Info_XRender_X11 *)evas_engine_info_get(ee->evas);
-   if (einfo)
-     {
-# ifdef BUILD_ECORE_EVAS_XRENDER_XCB
-        xcb_screen_iterator_t iter;
-        xcb_screen_t         *screen;
-
-        /* FIXME: this is inefficient as its a round trip */
-        screen = ecore_x_default_screen_get();
-        iter = xcb_setup_roots_iterator (xcb_get_setup (ecore_x_connection_get()));
-        if (iter.rem > 1)
-          {
-             xcb_get_geometry_cookie_t cookie;
-             xcb_get_geometry_reply_t *reply;
-             Ecore_X_Window           *roots;
-             int                       num;
-             uint8_t                   i;
-
-             num = 0;
-             cookie = xcb_get_geometry_unchecked(ecore_x_connection_get(), parent);
-             roots = ecore_x_window_root_list(&num);
-             if (roots)
-               {
-                  reply = xcb_get_geometry_reply(ecore_x_connection_get(), cookie, NULL);
-
-                  if (reply)
-                    {
-                       for (i = 0; i < num; xcb_screen_next (&iter), i++)
-                         {
-                            if (reply->root == roots[i])
-                              {
-                                 screen = iter.data;
-                                 break;
-                              }
-                         }
-                       free(reply);
-                    }
-                  free(roots);
-               }
-             else
-               {
-                  reply = xcb_get_geometry_reply(ecore_x_connection_get(), cookie, NULL);
-                  if (reply) free(reply);
-               }
-          }
-        einfo->info.backend = EVAS_ENGINE_INFO_XRENDER_BACKEND_XCB;
-        einfo->info.connection = ecore_x_connection_get();
-        einfo->info.screen = screen;
-        einfo->info.visual = screen->root_visual;
-# elif BUILD_ECORE_EVAS_XRENDER_X11
-        int screen;
-
-        /* FIXME: this is inefficient as its a round trip */
-        screen = DefaultScreen(ecore_x_display_get());
-        if (ScreenCount(ecore_x_display_get()) > 1)
-          {
-             Ecore_X_Window *roots;
-             int num, i;
-
-             num = 0;
-             roots = ecore_x_window_root_list(&num);
-             if (roots)
-               {
-                  XWindowAttributes at;
-
-                  if (XGetWindowAttributes(ecore_x_display_get(),
-                                           parent, &at))
-                    {
-                       for (i = 0; i < num; i++)
-                         {
-                            if (at.root == roots[i])
-                              {
-                                 screen = i;
-                                 break;
-                              }
-                         }
-                    }
-                  free(roots);
-               }
-          }
-        einfo->info.backend = EVAS_ENGINE_INFO_XRENDER_BACKEND_XLIB;
-        einfo->info.connection = ecore_x_display_get();
-        einfo->info.screen = NULL;
-        einfo->info.visual = DefaultVisual(ecore_x_display_get(), screen);
-# endif /* BUILD_ECORE_EVAS_XRENDER_(XCB|X11) */
-        einfo->info.drawable = ee->prop.window;
-        if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
-          {
-             ERR("evas_engine_info_set() init engine '%s' failed.", ee->driver);
-             ecore_evas_free(ee);
-             return NULL;
-          }
-     }
-
-   ecore_x_icccm_hints_set(ee->prop.window,
-                           1 /* accepts_focus */,
-                           ECORE_X_WINDOW_STATE_HINT_NORMAL /* initial_state */,
-                           0 /* icon_pixmap */,
-                           0 /* icon_mask */,
-                           0 /* icon_window */,
-                           0 /* window_group */,
-                           0 /* is_urgent */);
-   _ecore_evas_x_group_leader_set(ee);
-   ecore_x_window_defaults_set(ee->prop.window);
-   _ecore_evas_x_protocols_set(ee);
-   _ecore_evas_x_sync_set(ee);
-
-   ee->engine.func->fn_render = _ecore_evas_x_render;
-   _ecore_evas_register(ee);
-   ecore_x_input_multi_select(ee->prop.window);
-   ecore_event_window_register(ee->prop.window, ee, ee->evas,
-                               (Ecore_Event_Mouse_Move_Cb)_ecore_evas_mouse_move_process,
-                               (Ecore_Event_Multi_Move_Cb)_ecore_evas_mouse_multi_move_process,
-                               (Ecore_Event_Multi_Down_Cb)_ecore_evas_mouse_multi_down_process,
-                               (Ecore_Event_Multi_Up_Cb)_ecore_evas_mouse_multi_up_process);
-   return ee;
-}
-#else
 EAPI Ecore_Evas *
 ecore_evas_xrender_x11_new(const char *disp_name __UNUSED__, Ecore_X_Window parent __UNUSED__,
                            int x __UNUSED__, int y __UNUSED__, int w __UNUSED__, int h __UNUSED__)
 {
    return NULL;
 }
-#endif /* ! BUILD_ECORE_EVAS_XRENDER_X11 && ! BUILD_ECORE_EVAS_XRENDER_XCB */
 
 /**
  * To be documented.
  *
- * FIXME: To be fixed.
+ * FIXME: To be fixed or maybe removed rather?
  */
-#if defined (BUILD_ECORE_EVAS_XRENDER_X11) || defined (BUILD_ECORE_EVAS_XRENDER_XCB)
-EAPI Ecore_X_Window
-ecore_evas_xrender_x11_window_get(const Ecore_Evas *ee)
-{
-   return (Ecore_X_Window) ecore_evas_window_get(ee);
-}
-#else
 EAPI Ecore_X_Window
 ecore_evas_xrender_x11_window_get(const Ecore_Evas *ee __UNUSED__)
 {
    return 0;
 }
-#endif /* ! BUILD_ECORE_EVAS_XRENDER_X11 && ! BUILD_ECORE_EVAS_XRENDER_XCB */
 
 /**
  * To be documented.
  *
  * FIXME: To be fixed.
  */
-#if defined (BUILD_ECORE_EVAS_XRENDER_X11) || defined (BUILD_ECORE_EVAS_XRENDER_XCB)
-EAPI void
-ecore_evas_xrender_x11_direct_resize_set(Ecore_Evas *ee, Eina_Bool on)
-{
-   ee->engine.x.direct_resize = on;
-}
-#else
 EAPI void
 ecore_evas_xrender_x11_direct_resize_set(Ecore_Evas *ee __UNUSED__, Eina_Bool on __UNUSED__)
 {
 }
-#endif /* ! BUILD_ECORE_EVAS_XRENDER_X11 && ! BUILD_ECORE_EVAS_XRENDER_XCB */
 
 /**
  * To be documented.
  *
  * FIXME: To be fixed.
  */
-#if defined (BUILD_ECORE_EVAS_XRENDER_X11) || defined (BUILD_ECORE_EVAS_XRENDER_XCB)
-EAPI Eina_Bool
-ecore_evas_xrender_x11_direct_resize_get(const Ecore_Evas *ee)
-{
-   return ee->engine.x.direct_resize;
-}
-#else
 EAPI Eina_Bool
 ecore_evas_xrender_x11_direct_resize_get(const Ecore_Evas *ee __UNUSED__)
 {
    return 0;
 }
-#endif /* ! BUILD_ECORE_EVAS_XRENDER_X11 && ! BUILD_ECORE_EVAS_XRENDER_XCB */
 
 /**
  * To be documented.
  *
  * FIXME: To be fixed.
  */
-#if defined (BUILD_ECORE_EVAS_XRENDER_X11) || defined (BUILD_ECORE_EVAS_XRENDER_XCB)
-EAPI void
-ecore_evas_xrender_x11_extra_event_window_add(Ecore_Evas *ee, Ecore_X_Window win)
-{
-   ecore_evas_software_x11_extra_event_window_add(ee, win);
-}
-#else
 EAPI void
 ecore_evas_xrender_x11_extra_event_window_add(Ecore_Evas *ee __UNUSED__, Ecore_X_Window win __UNUSED__)
 {
 }
-#endif /* ! BUILD_ECORE_EVAS_XRENDER_X11 && ! BUILD_ECORE_EVAS_XRENDER_XCB */
 
 /**
  * To be documented.
Index: src/lib/ecore_evas/Makefile.am
===================================================================
--- src/lib/ecore_evas/Makefile.am	(revision 60229)
+++ src/lib/ecore_evas/Makefile.am	(working copy)
@@ -1,8 +1,8 @@
 MAINTAINERCLEANFILES = Makefile.in
 
 if BUILD_ECORE_X
-ECORE_X_INC = -I$(top_srcdir)/src/lib/ecore_x @x_cflags@ @XRENDER_CFLAGS@ @XCB_CFLAGS@ @XCB_RENDER_CFLAGS@
-ECORE_X_LIB = $(top_builddir)/src/lib/ecore_x/libecore_x.la @x_libs@ @XRENDER_LIBS@ @XCB_LIBS@ @XCB_RENDER_LIBS@
+ECORE_X_INC = -I$(top_srcdir)/src/lib/ecore_x @x_cflags@ @XCB_CFLAGS@
+ECORE_X_LIB = $(top_builddir)/src/lib/ecore_x/libecore_x.la @x_libs@ @XCB_LIBS@
 else
 ECORE_X_INC =
 ECORE_X_LIB =
Index: src/lib/ecore_evas/ecore_evas_private.h
===================================================================
--- src/lib/ecore_evas/ecore_evas_private.h	(revision 60229)
+++ src/lib/ecore_evas/ecore_evas_private.h	(working copy)
@@ -31,10 +31,6 @@
 #  ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
 #   include <Evas_Engine_Software_X11.h>
 #  endif
-#  ifdef BUILD_ECORE_EVAS_XRENDER_XCB
-#   include <xcb/render.h>
-#   include <Evas_Engine_XRender_X11.h>
-#  endif
 #  ifdef BUILD_ECORE_EVAS_SOFTWARE_8_X11
 #   include <Evas_Engine_Software_8_X11.h>
 #  endif
@@ -45,10 +41,6 @@
 #  ifdef BUILD_ECORE_EVAS_SOFTWARE_XLIB
 #   include <Evas_Engine_Software_X11.h>
 #  endif
-#  ifdef BUILD_ECORE_EVAS_XRENDER_X11
-#   include <X11/extensions/Xrender.h>
-#   include <Evas_Engine_XRender_X11.h>
-#  endif
 #  ifdef BUILD_ECORE_EVAS_OPENGL_X11
 #    include <Evas_Engine_GL_X11.h>
 #  endif
Index: src/lib/ecore_evas/ecore_evas.c
===================================================================
--- src/lib/ecore_evas/ecore_evas.c	(revision 60229)
+++ src/lib/ecore_evas/ecore_evas.c	(working copy)
@@ -82,11 +82,7 @@
         return 0;
 #endif
       case ECORE_EVAS_ENGINE_XRENDER_X11:
-#ifdef BUILD_ECORE_EVAS_XRENDER_X11
-        return 1;
-#else
         return 0;
-#endif
       case ECORE_EVAS_ENGINE_OPENGL_X11:
 #ifdef BUILD_ECORE_EVAS_OPENGL_X11
         return 1;
@@ -100,11 +96,7 @@
         return 0;
 #endif
       case ECORE_EVAS_ENGINE_XRENDER_XCB:
-#ifdef BUILD_ECORE_EVAS_XRENDER_XCB
-        return 1;
-#else
         return 0;
-#endif
       case ECORE_EVAS_ENGINE_SOFTWARE_GDI:
 #ifdef BUILD_ECORE_EVAS_SOFTWARE_GDI
         return 1;
@@ -415,22 +407,6 @@
 }
 #endif
 
-#ifdef BUILD_ECORE_EVAS_XRENDER_X11
-static Ecore_Evas *
-_ecore_evas_constructor_xrender_x11(int x, int y, int w, int h, const char *extra_options)
-{
-   unsigned int parent = 0;
-   char *disp_name = NULL;
-   Ecore_Evas *ee;
-
-   _ecore_evas_parse_extra_options_x(extra_options, &disp_name, &parent);
-   ee = ecore_evas_xrender_x11_new(disp_name, parent, x, y, w, h);
-   free(disp_name);
-
-   return ee;
-}
-#endif
-
 #ifdef BUILD_ECORE_EVAS_OPENGL_X11
 static Ecore_Evas *
 _ecore_evas_constructor_opengl_x11(int x, int y, int w, int h, const char *extra_options)
@@ -658,12 +634,6 @@
 #ifdef BUILD_ECORE_EVAS_SOFTWARE_8_X11
   {"software_8_x11", _ecore_evas_constructor_software_8_x11},
 #endif
-#ifdef BUILD_ECORE_EVAS_XRENDER_X11
-  {"xrender_x11", _ecore_evas_constructor_xrender_x11},
-#endif
-#ifdef BUILD_ECORE_EVAS_XRENDER_XCB
-  {"xrender_xcb", _ecore_evas_constructor_xrender_x11},
-#endif
 #ifdef BUILD_ECORE_EVAS_SOFTWARE_16_X11
   {"software_16_x11", _ecore_evas_constructor_software_16_x11},
 #endif
Index: configure.ac
===================================================================
--- configure.ac	(revision 60229)
+++ configure.ac	(working copy)
@@ -146,12 +146,10 @@
 want_ecore_evas="yes"
 want_ecore_evas_software_buffer="yes"
 want_ecore_evas_software_x11="no"
-want_ecore_evas_xrender_x11="no"
 want_ecore_evas_opengl_x11="no"
 want_ecore_evas_software_16_x11="no"
 want_ecore_evas_software_8_x11="no"
 want_ecore_evas_software_xcb="no"
-want_ecore_evas_xrender_xcb="no"
 want_ecore_evas_software_gdi="no"
 want_ecore_evas_software_ddraw="no"
 want_ecore_evas_direct3d="no"
@@ -208,12 +206,10 @@
       want_ecore_imf="yes"
       want_ecore_x="yes"
       want_ecore_evas_software_x11="yes"
-      want_ecore_evas_xrender_x11="yes"
       want_ecore_evas_opengl_x11="yes"
       want_ecore_evas_software_16_x11="yes"
       want_ecore_evas_software_8_x11="yes"
       want_ecore_evas_software_xcb="yes"
-      want_ecore_evas_xrender_xcb="yes"
       want_ecore_evas_software_sdl="yes"
       want_ecore_evas_gl_sdl="yes"
       want_ecore_evas_directfb="yes"
@@ -1277,13 +1273,6 @@
    fi
 fi
 
-# ecore_evas_xrender_x11
-
-ECORE_EVAS_CHECK_MODULE([xrender-x11],
-   [${want_ecore_evas_xrender_x11}],
-   [XRender Xlib],
-   [${have_ecore_x_xlib}])
-
 # ecore_evas_opengl_x11
 
 ECORE_EVAS_CHECK_MODULE([opengl-x11],
@@ -1304,20 +1293,11 @@
     $have_ecore_x_xcb)
 
 
-# ecore_evas_xrender_xcb
-
-ECORE_EVAS_CHECK_MODULE([xrender-xcb],
-   [${want_ecore_evas_xrender_xcb}],
-   [XRender XCB],
-   [${ecore_evas_xcb_deps}])
-
 if test "x$have_ecore_evas_software_x11" = "xyes" -o \
-        "x$have_ecore_evas_xrender_x11" = "xyes" -o \
         "x$have_ecore_evas_opengl_x11" = "xyes" -o \
         "x$have_ecore_evas_software_8_x11" = "xyes" -o \
         "x$have_ecore_evas_software_16_x11" = "xyes" -o \
-        "x$have_ecore_evas_software_xcb" = "xyes" -o \
-        "x$have_ecore_evas_xrender_xcb" = "xyes"; then
+        "x$have_ecore_evas_software_xcb" = "xyes"; then
    AC_DEFINE(BUILD_ECORE_EVAS_X11, 1, [Support for X Window Engines in Ecore_Evas])
    requirements_ecore_evas="ecore-x >= 1.0.0 ${requirements_ecore_evas}"
 fi
@@ -1580,9 +1560,7 @@
   else
     echo "    Software X11...............: $have_ecore_evas_software_x11"
   fi
-  echo "    XRender X11................: $have_ecore_evas_xrender_x11"
   echo "    OpenGL X11.................: $have_ecore_evas_opengl_x11"
-  echo "    XRender XCB................: $have_ecore_evas_xrender_xcb"
   echo "    Software GDI...............: $have_ecore_evas_software_gdi"
   echo "    Software DirectDraw........: $have_ecore_evas_software_ddraw"
   echo "    Direct3D...................: $have_ecore_evas_direct3d"
------------------------------------------------------------------------------
EditLive Enterprise is the world's most technically advanced content
authoring tool. Experience the power of Track Changes, Inline Image
Editing and ensure content is compliant with Accessibility Checking.
http://p.sf.net/sfu/ephox-dev2dev
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to