* use the enum to set the backend in software X11 engines

* update to the new merged xrender engine


SVN revision: 39666
This commit is contained in:
Vincent Torri 2009-03-24 07:50:17 +00:00
parent 3c7eeebd80
commit 7db88370f1
4 changed files with 11 additions and 8 deletions

View File

@ -38,7 +38,7 @@ engine_software_x11_args(int argc, char **argv)
return 0; return 0;
} }
einfo->info.backend = 0; einfo->info.backend = EVAS_ENGINE_INFO_SOFTWARE_X11_BACKEND_XLIB;
einfo->info.connection = disp; einfo->info.connection = disp;
einfo->info.screen = NULL; einfo->info.screen = NULL;
einfo->info.visual = einfo->func.best_visual_get(0, disp, DefaultScreen(disp)); einfo->info.visual = einfo->func.best_visual_get(0, disp, DefaultScreen(disp));

View File

@ -94,7 +94,7 @@ engine_software_xcb_args(int argc, char **argv)
return 0; return 0;
} }
einfo->info.backend = 1; einfo->info.backend = EVAS_ENGINE_INFO_SOFTWARE_X11_BACKEND_XCB;
einfo->info.connection = conn; einfo->info.connection = conn;
einfo->info.screen = screen; einfo->info.screen = screen;
einfo->info.visual = einfo->func.best_visual_get(1, conn, s); einfo->info.visual = einfo->func.best_visual_get(1, conn, s);

View File

@ -38,7 +38,9 @@ engine_xrender_x11_args(int argc, char **argv)
return 0; return 0;
} }
einfo->info.display = disp; einfo->info.backend = EVAS_ENGINE_INFO_XRENDER_BACKEND_XLIB;
einfo->info.connection = disp;
einfo->info.screen = NULL;
einfo->info.visual = DefaultVisual(disp, DefaultScreen(disp)); einfo->info.visual = DefaultVisual(disp, DefaultScreen(disp));
attr.backing_store = NotUseful; attr.backing_store = NotUseful;
attr.border_pixel = 0; attr.border_pixel = 0;

View File

@ -2,7 +2,7 @@
#include <xcb/xcb.h> #include <xcb/xcb.h>
#include <xcb/xcb_keysyms.h> #include <xcb/xcb_keysyms.h>
#include <Evas_Engine_XRender_Xcb.h> #include <Evas_Engine_XRender_X11.h>
#define XK_MISCELLANY #define XK_MISCELLANY
#include <X11/keysymdef.h> #include <X11/keysymdef.h>
@ -62,7 +62,7 @@ engine_xrender_xcb_args(int argc, char **argv)
struct xcb_size_hints_t hints; struct xcb_size_hints_t hints;
uint32_t value_list[6]; uint32_t value_list[6];
xcb_screen_iterator_t iter; xcb_screen_iterator_t iter;
Evas_Engine_Info_XRender_Xcb *einfo; Evas_Engine_Info_XRender_X11 *einfo;
xcb_intern_atom_reply_t *reply; xcb_intern_atom_reply_t *reply;
char *str; char *str;
xcb_intern_atom_cookie_t cookie1; xcb_intern_atom_cookie_t cookie1;
@ -105,15 +105,16 @@ engine_xrender_xcb_args(int argc, char **argv)
break; break;
} }
evas_output_method_set(evas, evas_render_method_lookup("xrender_xcb")); evas_output_method_set(evas, evas_render_method_lookup("xrender_x11"));
einfo = (Evas_Engine_Info_XRender_Xcb *)evas_engine_info_get(evas); einfo = (Evas_Engine_Info_XRender_X11 *)evas_engine_info_get(evas);
if (!einfo) if (!einfo)
{ {
printf("Evas does not support the XRender XCB Engine\n"); printf("Evas does not support the XRender XCB Engine\n");
return 0; return 0;
} }
einfo->info.conn = conn; einfo->info.backend = EVAS_ENGINE_INFO_XRENDER_BACKEND_XCB;
einfo->info.connection = conn;
einfo->info.screen = screen; einfo->info.screen = screen;
einfo->info.visual = _engine_xrender_visual_get(conn, screen); einfo->info.visual = _engine_xrender_visual_get(conn, screen);