Enlightenment CVS committal Author : doursse Project : e17 Module : libs/evas
Dir : e17/libs/evas/src/modules/engines/software_xcb Modified Files: evas_engine.c evas_engine.h evas_outbuf.c evas_xcb_buffer.c evas_xcb_color.c Log Message: update to the new new api of XCB =================================================================== RCS file: /cvs/e/e17/libs/evas/src/modules/engines/software_xcb/evas_engine.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -3 -r1.13 -r1.14 --- evas_engine.c 1 Oct 2006 18:26:24 -0000 1.13 +++ evas_engine.c 10 Oct 2006 19:15:13 -0000 1.14 @@ -144,7 +144,7 @@ iter_vis = xcb_depth_visuals_iterator(iter_depth.data); for (; iter_vis.rem; --screen, xcb_visualtype_next (&iter_vis)) { - if (scr->root_visual.id == iter_vis.data->visual_id.id) + if (scr->root_visual == iter_vis.data->visual_id) return iter_vis.data; } } @@ -186,7 +186,7 @@ static Evas_Performance * _output_perf_new(Evas *e, xcb_connection_t *conn, xcb_visualtype_t *vis, xcb_colormap_t cmap, xcb_drawable_t draw, int depth) { - return evas_software_xcb_outbuf_perf_new_x(conn, draw, vis, cmap, depth); + return evas_software_xcb_generate_id_x(conn, draw, vis, cmap, depth); e = NULL; } @@ -414,7 +414,7 @@ re->end = 1; } - surface = evas_software_xcb_outbuf_new_region_for_update(re->ob, + surface = evas_software_xcb_generate_id_region_for_update(re->ob, ux, uy, uw, uh, cx, cy, cw, ch); *x = ux; *y = uy; *w = uw; *h = uh; =================================================================== RCS file: /cvs/e/e17/libs/evas/src/modules/engines/software_xcb/evas_engine.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- evas_engine.h 1 Oct 2006 18:26:24 -0000 1.5 +++ evas_engine.h 10 Oct 2006 19:15:13 -0000 1.6 @@ -118,7 +118,7 @@ int w, int y); int evas_software_xcb_x_can_do_shm (xcb_connection_t *c); -Xcb_Output_Buffer *evas_software_xcb_x_output_buffer_new (xcb_connection_t *c, +Xcb_Output_Buffer *evas_software_xcb_generate_id (xcb_connection_t *c, int depth, int w, int h, @@ -172,7 +172,7 @@ char *evas_software_xcb_outbuf_perf_serialize_x (Outbuf_Perf *perf); void evas_software_xcb_outbuf_perf_deserialize_x (Outbuf_Perf *perf, const char *data); -Outbuf_Perf *evas_software_xcb_outbuf_perf_new_x (xcb_connection_t *conn, +Outbuf_Perf *evas_software_xcb_generate_id_x (xcb_connection_t *conn, xcb_drawable_t draw, xcb_visualtype_t *vis, xcb_colormap_t cmap, @@ -204,7 +204,7 @@ int y, int w, int h); -RGBA_Image *evas_software_xcb_outbuf_new_region_for_update (Outbuf *buf, +RGBA_Image *evas_software_xcb_generate_id_region_for_update (Outbuf *buf, int x, int y, int w, =================================================================== RCS file: /cvs/e/e17/libs/evas/src/modules/engines/software_xcb/evas_outbuf.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- evas_outbuf.c 1 Oct 2006 18:26:24 -0000 1.10 +++ evas_outbuf.c 10 Oct 2006 19:15:13 -0000 1.11 @@ -17,7 +17,7 @@ { evas_software_xcb_outbuf_flush(buf); xcb_free_gc(buf->priv.x.conn, buf->priv.x.gc); - if (buf->priv.x.gcm.xid) + if (buf->priv.x.gcm) xcb_free_gc(buf->priv.x.conn, buf->priv.x.gcm); if (buf->priv.pal) evas_software_xcb_x_color_deallocate(buf->priv.x.conn, @@ -75,7 +75,7 @@ Xcb_Output_Buffer *xcbob; buf->priv.x.shm = evas_software_xcb_x_can_do_shm(buf->priv.x.conn); - xcbob = evas_software_xcb_x_output_buffer_new(buf->priv.x.conn, + xcbob = evas_software_xcb_generate_id(buf->priv.x.conn, buf->priv.x.depth, 1, 1, buf->priv.x.shm, NULL); @@ -258,7 +258,7 @@ } RGBA_Image * -evas_software_xcb_outbuf_new_region_for_update(Outbuf *buf, +evas_software_xcb_generate_id_region_for_update(Outbuf *buf, int x, int y, int w, @@ -305,15 +305,15 @@ im->image->data = NULL; im->image->no_free = 1; im->extended_info = obr; - obr->xcbob = evas_software_xcb_x_output_buffer_new(buf->priv.x.conn, + obr->xcbob = evas_software_xcb_generate_id(buf->priv.x.conn, buf->priv.x.depth, w, h, use_shm, NULL); im->image->data = (DATA32 *)evas_software_xcb_x_output_buffer_data(obr->xcbob, &bpl); - if (buf->priv.x.mask.pixmap.xid) - obr->mxcbob = evas_software_xcb_x_output_buffer_new(buf->priv.x.conn, + if (buf->priv.x.mask) + obr->mxcbob = evas_software_xcb_generate_id(buf->priv.x.conn, 1, w, h, @@ -325,28 +325,28 @@ im = evas_common_image_create(w, h); im->extended_info = obr; if ((buf->rot == 0) || (buf->rot == 180)) - obr->xcbob = evas_software_xcb_x_output_buffer_new(buf->priv.x.conn, + obr->xcbob = evas_software_xcb_generate_id(buf->priv.x.conn, buf->priv.x.depth, w, h, use_shm, NULL); else if ((buf->rot == 90) || (buf->rot == 270)) - obr->xcbob = evas_software_xcb_x_output_buffer_new(buf->priv.x.conn, + obr->xcbob = evas_software_xcb_generate_id(buf->priv.x.conn, buf->priv.x.depth, h, w, use_shm, NULL); - if (buf->priv.x.mask.pixmap.xid) - obr->mxcbob = evas_software_xcb_x_output_buffer_new(buf->priv.x.conn, + if (buf->priv.x.mask) + obr->mxcbob = evas_software_xcb_generate_id(buf->priv.x.conn, 1, w, h, use_shm, NULL); } - if ((buf->priv.x.mask.pixmap.xid) || (buf->priv.destination_alpha)) + if ((buf->priv.x.mask) || (buf->priv.destination_alpha)) { im->flags |= RGBA_IMAGE_HAS_ALPHA; /* FIXME: faster memset! */ @@ -596,14 +596,14 @@ evas_software_xcb_outbuf_drawable_set(Outbuf *buf, xcb_drawable_t draw) { - if (buf->priv.x.win.window.xid == draw.window.xid) return; - if (buf->priv.x.gc.xid) + if (buf->priv.x.win == draw) return; + if (buf->priv.x.gc) { xcb_free_gc(buf->priv.x.conn, buf->priv.x.gc); - buf->priv.x.gc.xid = 0; + buf->priv.x.gc = 0; } buf->priv.x.win = draw; - buf->priv.x.gc = xcb_gcontext_new(buf->priv.x.conn); + buf->priv.x.gc = xcb_generate_id(buf->priv.x.conn); xcb_create_gc(buf->priv.x.conn, buf->priv.x.gc, buf->priv.x.win, 0, NULL); } @@ -611,16 +611,16 @@ evas_software_xcb_outbuf_mask_set(Outbuf *buf, xcb_drawable_t mask) { - if (buf->priv.x.mask.pixmap.xid == mask.pixmap.xid) return; - if (buf->priv.x.gcm.xid) + if (buf->priv.x.mask == mask) return; + if (buf->priv.x.gcm) { xcb_free_gc(buf->priv.x.conn, buf->priv.x.gcm); - buf->priv.x.gcm.xid = 0; + buf->priv.x.gcm = 0; } buf->priv.x.mask = mask; - if (buf->priv.x.mask.pixmap.xid) + if (buf->priv.x.mask) { - buf->priv.x.gcm = xcb_gcontext_new(buf->priv.x.conn); + buf->priv.x.gcm = xcb_generate_id(buf->priv.x.conn); xcb_create_gc(buf->priv.x.conn, buf->priv.x.gcm, buf->priv.x.win, 0, NULL); } } @@ -649,13 +649,13 @@ xcb_screen_iterator_t i; geom = xcb_get_geometry_reply (buf->priv.x.conn, xcb_get_geometry_unchecked(buf->priv.x.conn, draw), 0); - root.window = geom->root; + root = geom->root; free (geom); geom = xcb_get_geometry_reply (buf->priv.x.conn, xcb_get_geometry_unchecked(buf->priv.x.conn, root), 0); i = xcb_setup_roots_iterator((xcb_setup_t *)xcb_get_setup(buf->priv.x.conn)); for (; i.rem; xcb_screen_next(&i)) - if (i.data->root.xid == geom->root.xid) + if (i.data->root == geom->root) { screen = i.data; break; @@ -763,7 +763,7 @@ } Outbuf_Perf * -evas_software_xcb_outbuf_perf_new_x(xcb_connection_t *conn, +evas_software_xcb_generate_id_x(xcb_connection_t *conn, xcb_drawable_t draw, xcb_visualtype_t *vis, xcb_colormap_t cmap, @@ -780,15 +780,15 @@ perf->x.conn = conn; /* FIXME: should use the default screen */ - root.window = xcb_setup_roots_iterator ((xcb_setup_t *)xcb_get_setup (conn)).data->root; - if (draw.window.xid) + root = xcb_setup_roots_iterator ((xcb_setup_t *)xcb_get_setup (conn)).data->root; + if (draw) { xcb_get_geometry_reply_t *geom; xcb_screen_iterator_t i; int cur; geom = xcb_get_geometry_reply (conn, xcb_get_geometry_unchecked(conn, draw), NULL); - root.window = geom->root; + root = geom->root; free (geom); geom = xcb_get_geometry_reply (conn, xcb_get_geometry_unchecked(conn, root), 0); perf->x.w = (int)geom->width; @@ -797,7 +797,7 @@ perf->x.screen_num = 0; i = xcb_setup_roots_iterator((xcb_setup_t *)xcb_get_setup(conn)); for (cur = 0; i.rem; xcb_screen_next(&i), ++cur) - if (i.data->root.xid == geom->root.xid) + if (i.data->root == geom->root) { perf->x.screen_num = cur; break; @@ -881,7 +881,7 @@ perf->cpu.info = strdup(""); return perf; vis = NULL; - cmap.xid = 0; + cmap = 0; } char * @@ -942,7 +942,7 @@ format = STRING; str = evas_software_xcb_outbuf_perf_serialize_x(perf); - xcb_change_property(perf->x.conn, XCB_PROP_MODE_REPLACE, perf->x.root.window, + xcb_change_property(perf->x.conn, XCB_PROP_MODE_REPLACE, perf->x.root, type, format, 8, strlen(str), str); /* we sync */ @@ -967,7 +967,7 @@ xcb_atom_t type, format; Outbuf_Perf *perf; - perf = evas_software_xcb_outbuf_perf_new_x(conn, draw, vis, cmap, x_depth); + perf = evas_software_xcb_generate_id_x(conn, draw, vis, cmap, x_depth); type_str = "__EVAS_PERF_ENGINE_SOFTWARE"; type_rep = xcb_intern_atom_reply(conn, @@ -983,14 +983,14 @@ format = STRING; free(type_rep); - cookie = xcb_get_property_unchecked(conn, 0, perf->x.root.window, + cookie = xcb_get_property_unchecked(conn, 0, perf->x.root, type, format, 0, 16384); prop_rep = xcb_get_property_reply(conn, cookie, NULL); if ((prop_rep) && (prop_rep->format == 8) && - (prop_rep->type.xid == type.xid)) + (prop_rep->type == type)) { char *retval; int retnum; @@ -1036,7 +1036,7 @@ int w, h; int do_shm = 0; - perf = evas_software_xcb_outbuf_perf_new_x(conn, draw, vis, cmap, x_depth); + perf = evas_software_xcb_generate_id_x(conn, draw, vis, cmap, x_depth); mask = XCB_CW_BACK_PIXMAP | XCB_CW_BORDER_PIXEL | XCB_CW_BIT_GRAVITY | XCB_CW_BACKING_STORE | @@ -1047,12 +1047,12 @@ value[3] = XCB_BACKING_STORE_ALWAYS; value[4] = 1; value[5] = XCB_EVENT_MASK_NO_EVENT; - value[6] = cmap.xid; + value[6] = cmap; w = perf->x.w; h = perf->x.h; - win.window = xcb_window_new (conn); + win = xcb_generate_id (conn); xcb_create_window (conn, x_depth, - win.window, perf->x.root.window, + win, perf->x.root, 0, 0, w, h, 0, @@ -1066,8 +1066,8 @@ free(reply); mask = XCB_CONFIG_WINDOW_STACK_MODE; value[0] = XCB_STACK_MODE_ABOVE; - xcb_configure_window (conn, win.window, mask, value2); - xcb_map_window (conn, win.window); + xcb_configure_window (conn, win, mask, value2); + xcb_map_window (conn, win); do_shm = evas_software_xcb_x_can_do_shm(conn); @@ -1088,7 +1088,7 @@ max = w; if (w > h) max = h; - gc = xcb_gcontext_new (conn); + gc = xcb_generate_id (conn); xcb_create_gc (conn, gc, win, 0, NULL); for (i = 16; i < max; i += 16) { @@ -1100,7 +1100,7 @@ t0 = _evas_get_time(); for (l = 0; l < loops; l++) { - xcbob = evas_software_xcb_x_output_buffer_new(conn, + xcbob = evas_software_xcb_generate_id(conn, x_depth, i, i, do_shm, @@ -1126,7 +1126,7 @@ t0 = _evas_get_time(); for (l = 0; l < loops; l++) { - xcbob = evas_software_xcb_x_output_buffer_new(conn, + xcbob = evas_software_xcb_generate_id(conn, x_depth, i, i, 0, @@ -1160,6 +1160,6 @@ } xcb_free_gc(conn, gc); } - xcb_destroy_window(conn, win.window); + xcb_destroy_window(conn, win); return perf; } =================================================================== RCS file: /cvs/e/e17/libs/evas/src/modules/engines/software_xcb/evas_xcb_buffer.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- evas_xcb_buffer.c 1 Oct 2006 18:26:24 -0000 1.7 +++ evas_xcb_buffer.c 10 Oct 2006 19:15:13 -0000 1.8 @@ -66,7 +66,8 @@ xcb_drawable_t drawable; int depth; - drawable.window = xcb_setup_roots_iterator (xcb_get_setup(c)).data->root; + /* FIXME: get the corect screen */ + drawable = xcb_setup_roots_iterator (xcb_get_setup(c)).data->root; geom = xcb_get_geometry_reply (c, xcb_get_geometry_unchecked(c, drawable), 0); if(!geom) return 0; @@ -78,7 +79,7 @@ { Xcb_Output_Buffer *xcbob; - xcbob = evas_software_xcb_x_output_buffer_new(c, + xcbob = evas_software_xcb_generate_id(c, depth, 16, 16, @@ -103,7 +104,7 @@ /* } */ Xcb_Output_Buffer * -evas_software_xcb_x_output_buffer_new(xcb_connection_t *c, +evas_software_xcb_generate_id(xcb_connection_t *c, int depth, int w, int h, @@ -124,7 +125,7 @@ xcbob->shm_info = malloc(sizeof(xcb_shm_segment_info_t)); if (xcbob->shm_info) { - xcbob->shm_info->shmseg = xcb_shm_seg_new(c); + xcbob->shm_info->shmseg = xcb_generate_id(c); xcbob->image = xcb_image_shm_create(c, depth, XCB_IMAGE_FORMAT_Z_PIXMAP, NULL, w, h); if (xcbob->image) { =================================================================== RCS file: /cvs/e/e17/libs/evas/src/modules/engines/software_xcb/evas_xcb_color.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- evas_xcb_color.c 1 Oct 2006 18:26:24 -0000 1.5 +++ evas_xcb_color.c 10 Oct 2006 19:15:13 -0000 1.6 @@ -361,7 +361,7 @@ palpriv = pal->data; if ((conn == palpriv->conn) && (vis == palpriv->vis) && - (cmap.xid == palpriv->cmap.xid)) + (cmap == palpriv->cmap)) { pal->references++; return pal; ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs