Enlightenment CVS committal Author : raster Project : e17 Module : libs/evas
Dir : e17/libs/evas/src/lib/canvas Modified Files: evas_clip.c evas_events.c evas_main.c evas_object_gradient.c evas_object_image.c evas_object_line.c evas_object_main.c evas_object_polygon.c evas_object_rectangle.c evas_object_text.c evas_object_textblock.c evas_render.c Log Message: a few things. 1. disable viewports other than 1:1 at 0,0 2. remove output space coorsds for pointer. 3. remove geom caching 4. make threaded pipelined engine a runtime detect if u have > 1 cpu. 5. pthread build default if u have pthread.h and sched.h =================================================================== RCS file: /cvs/e/e17/libs/evas/src/lib/canvas/evas_clip.c,v retrieving revision 1.25 retrieving revision 1.26 diff -u -3 -r1.25 -r1.26 --- evas_clip.c 9 Sep 2006 12:25:26 -0000 1.25 +++ evas_clip.c 16 Nov 2006 03:20:24 -0000 1.26 @@ -9,8 +9,10 @@ if (obj->layer->evas->events_frozen > 0) return; evas_object_coords_recalc(obj); - cx = obj->cur.cache.geometry.x; cy = obj->cur.cache.geometry.y; - cw = obj->cur.cache.geometry.w; ch = obj->cur.cache.geometry.h; + cx = obj->cur.geometry.x; cy = obj->cur.geometry.y; + cw = obj->cur.geometry.w; ch = obj->cur.geometry.h; +//// cx = obj->cur.cache.geometry.x; cy = obj->cur.cache.geometry.y; +//// cw = obj->cur.cache.geometry.w; ch = obj->cur.cache.geometry.h; if (obj->cur.color.a == 0) cvis = 0; else cvis = obj->cur.visible; cr = obj->cur.color.r; cg = obj->cur.color.g; =================================================================== RCS file: /cvs/e/e17/libs/evas/src/lib/canvas/evas_events.c,v retrieving revision 1.48 retrieving revision 1.49 diff -u -3 -r1.48 -r1.49 --- evas_events.c 25 Aug 2006 20:47:32 -0000 1.48 +++ evas_events.c 16 Nov 2006 03:20:24 -0000 1.49 @@ -248,8 +248,10 @@ ev.button = b; ev.output.x = e->pointer.x; ev.output.y = e->pointer.y; - ev.canvas.x = e->pointer.canvas_x; - ev.canvas.y = e->pointer.canvas_y; + ev.canvas.x = e->pointer.x; + ev.canvas.y = e->pointer.y; +//// ev.canvas.x = e->pointer.canvas_x; +//// ev.canvas.y = e->pointer.canvas_y; ev.data = (void *)data; ev.modifiers = &(e->modifiers); ev.locks = &(e->locks); @@ -298,8 +300,10 @@ ev.button = b; ev.output.x = e->pointer.x; ev.output.y = e->pointer.y; - ev.canvas.x = e->pointer.canvas_x; - ev.canvas.y = e->pointer.canvas_y; + ev.canvas.x = e->pointer.x; + ev.canvas.y = e->pointer.y; +//// ev.canvas.x = e->pointer.canvas_x; +//// ev.canvas.y = e->pointer.canvas_y; ev.data = (void *)data; ev.modifiers = &(e->modifiers); ev.locks = &(e->locks); @@ -333,8 +337,10 @@ ev.buttons = e->pointer.button; ev.output.x = e->pointer.x; ev.output.y = e->pointer.y; - ev.canvas.x = e->pointer.canvas_x; - ev.canvas.y = e->pointer.canvas_y; + ev.canvas.x = e->pointer.x; + ev.canvas.y = e->pointer.y; +//// ev.canvas.x = e->pointer.canvas_x; +//// ev.canvas.y = e->pointer.canvas_y; ev.data = (void *)data; ev.modifiers = &(e->modifiers); ev.locks = &(e->locks); @@ -360,8 +366,10 @@ ev.buttons = e->pointer.button; ev.output.x = e->pointer.x; ev.output.y = e->pointer.y; - ev.canvas.x = e->pointer.canvas_x; - ev.canvas.y = e->pointer.canvas_y; + ev.canvas.x = e->pointer.x; + ev.canvas.y = e->pointer.y; +//// ev.canvas.x = e->pointer.canvas_x; +//// ev.canvas.y = e->pointer.canvas_y; ev.data = (void *)data; ev.modifiers = &(e->modifiers); ev.locks = &(e->locks); @@ -417,8 +425,10 @@ ev.z = z; ev.output.x = e->pointer.x; ev.output.y = e->pointer.y; - ev.canvas.x = e->pointer.canvas_x; - ev.canvas.y = e->pointer.canvas_y; + ev.canvas.x = e->pointer.x; + ev.canvas.y = e->pointer.y; +//// ev.canvas.x = e->pointer.canvas_x; +//// ev.canvas.y = e->pointer.canvas_y; ev.data = (void *) data; ev.modifiers = &(e->modifiers); ev.locks = &(e->locks); @@ -441,7 +451,7 @@ evas_event_feed_mouse_move(Evas *e, int x, int y, unsigned int timestamp, const void *data) { int px, py; - Evas_Coord pcx, pcy; +//// Evas_Coord pcx, pcy; MAGIC_CHECK(e, Evas, MAGIC_EVAS); return; @@ -449,16 +459,18 @@ px = e->pointer.x; py = e->pointer.y; - pcx = e->pointer.canvas_x; - pcy = e->pointer.canvas_y; +//// pcx = e->pointer.canvas_x; +//// pcy = e->pointer.canvas_y; if (e->events_frozen > 0) return; e->last_timestamp = timestamp; e->pointer.x = x; e->pointer.y = y; - e->pointer.canvas_x = evas_coord_screen_x_to_world(e, x); - e->pointer.canvas_y = evas_coord_screen_y_to_world(e, y); +//// e->pointer.canvas_x = x; +//// e->pointer.canvas_y = y; +//// e->pointer.canvas_x = evas_coord_screen_x_to_world(e, x); +//// e->pointer.canvas_y = evas_coord_screen_y_to_world(e, y); if ((!e->pointer.inside) && (e->pointer.mouse_grabbed == 0)) return; /* if our mouse button is grabbed to any objects */ if (e->pointer.mouse_grabbed > 0) @@ -485,12 +497,16 @@ ev.buttons = e->pointer.button; ev.cur.output.x = e->pointer.x; ev.cur.output.y = e->pointer.y; - ev.cur.canvas.x = e->pointer.canvas_x; - ev.cur.canvas.y = e->pointer.canvas_y; + ev.cur.canvas.x = e->pointer.x; + ev.cur.canvas.y = e->pointer.y; +//// ev.cur.canvas.x = e->pointer.canvas_x; +//// ev.cur.canvas.y = e->pointer.canvas_y; ev.prev.output.x = px; ev.prev.output.y = py; - ev.prev.canvas.x = pcx; - ev.prev.canvas.y = pcy; + ev.prev.canvas.x = px; + ev.prev.canvas.y = py; +//// ev.prev.canvas.x = pcx; +//// ev.prev.canvas.y = pcy; ev.data = (void *)data; ev.modifiers = &(e->modifiers); ev.locks = &(e->locks); @@ -519,8 +535,10 @@ ev.buttons = e->pointer.button; ev.output.x = e->pointer.x; ev.output.y = e->pointer.y; - ev.canvas.x = e->pointer.canvas_x; - ev.canvas.y = e->pointer.canvas_y; + ev.canvas.x = e->pointer.x; + ev.canvas.y = e->pointer.y; +//// ev.canvas.x = e->pointer.canvas_x; +//// ev.canvas.y = e->pointer.canvas_y; ev.data = (void *)data; ev.modifiers = &(e->modifiers); ev.locks = &(e->locks); @@ -563,12 +581,16 @@ ev.buttons = e->pointer.button; ev.cur.output.x = e->pointer.x; ev.cur.output.y = e->pointer.y; - ev.cur.canvas.x = e->pointer.canvas_x; - ev.cur.canvas.y = e->pointer.canvas_y; + ev.cur.canvas.x = e->pointer.x; + ev.cur.canvas.y = e->pointer.y; +//// ev.cur.canvas.x = e->pointer.canvas_x; +//// ev.cur.canvas.y = e->pointer.canvas_y; ev.prev.output.x = px; ev.prev.output.y = py; - ev.prev.canvas.x = pcx; - ev.prev.canvas.y = pcy; + ev.prev.canvas.x = px; + ev.prev.canvas.y = py; +//// ev.prev.canvas.x = pcx; +//// ev.prev.canvas.y = pcy; ev.data = (void *)data; ev.modifiers = &(e->modifiers); ev.locks = &(e->locks); @@ -586,8 +608,10 @@ ev.buttons = e->pointer.button; ev.output.x = e->pointer.x; ev.output.y = e->pointer.y; - ev.canvas.x = e->pointer.canvas_x; - ev.canvas.y = e->pointer.canvas_y; + ev.canvas.x = e->pointer.x; + ev.canvas.y = e->pointer.y; +//// ev.canvas.x = e->pointer.canvas_x; +//// ev.canvas.y = e->pointer.canvas_y; ev.data = (void *)data; ev.modifiers = &(e->modifiers); ev.locks = &(e->locks); @@ -612,8 +636,10 @@ ev.buttons = e->pointer.button; ev.output.x = e->pointer.x; ev.output.y = e->pointer.y; - ev.canvas.x = e->pointer.canvas_x; - ev.canvas.y = e->pointer.canvas_y; + ev.canvas.x = e->pointer.x; + ev.canvas.y = e->pointer.y; +//// ev.canvas.x = e->pointer.canvas_x; +//// ev.canvas.y = e->pointer.canvas_y; ev.data = (void *)data; ev.modifiers = &(e->modifiers); ev.locks = &(e->locks); @@ -667,8 +693,10 @@ ev.buttons = e->pointer.button; ev.output.x = e->pointer.x; ev.output.y = e->pointer.y; - ev.canvas.x = e->pointer.canvas_x; - ev.canvas.y = e->pointer.canvas_y; + ev.canvas.x = e->pointer.x; + ev.canvas.y = e->pointer.y; +//// ev.canvas.x = e->pointer.canvas_x; +//// ev.canvas.y = e->pointer.canvas_y; ev.data = (void *)data; ev.modifiers = &(e->modifiers); ev.locks = &(e->locks); @@ -720,8 +748,10 @@ ev.buttons = e->pointer.button; ev.output.x = e->pointer.x; ev.output.y = e->pointer.y; - ev.canvas.x = e->pointer.canvas_x; - ev.canvas.y = e->pointer.canvas_y; + ev.canvas.x = e->pointer.x; + ev.canvas.y = e->pointer.y; +//// ev.canvas.x = e->pointer.canvas_x; +//// ev.canvas.y = e->pointer.canvas_y; ev.data = (void *)data; ev.modifiers = &(e->modifiers); ev.locks = &(e->locks); =================================================================== RCS file: /cvs/e/e17/libs/evas/src/lib/canvas/evas_main.c,v retrieving revision 1.31 retrieving revision 1.32 diff -u -3 -r1.31 -r1.32 --- evas_main.c 18 Sep 2006 09:40:28 -0000 1.31 +++ evas_main.c 16 Nov 2006 03:20:24 -0000 1.32 @@ -401,6 +401,12 @@ (w == e->viewport.w) && (h == e->viewport.h)) return; if (w <= 0) return; if (h <= 0) return; + if ((x != 0) || (y != 0)) + { + printf("EVAS: compat error. viewport x,y != 0,0 not supported\n"); + x = 0; + y = 0; + } e->viewport.x = x; e->viewport.y = y; e->viewport.w = w; =================================================================== RCS file: /cvs/e/e17/libs/evas/src/lib/canvas/evas_object_gradient.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -3 -r1.15 -r1.16 --- evas_object_gradient.c 5 Oct 2006 05:28:35 -0000 1.15 +++ evas_object_gradient.c 16 Nov 2006 03:20:24 -0000 1.16 @@ -888,10 +888,14 @@ { obj->layer->evas->engine.func->gradient_draw(output, context, surface, o->engine_data, - obj->cur.cache.geometry.x + x, - obj->cur.cache.geometry.y + y, - obj->cur.cache.geometry.w, - obj->cur.cache.geometry.h); + obj->cur.geometry.x + x, + obj->cur.geometry.y + y, + obj->cur.geometry.w, + obj->cur.geometry.h); +//// obj->cur.cache.geometry.x + x, +//// obj->cur.cache.geometry.y + y, +//// obj->cur.cache.geometry.w, +//// obj->cur.cache.geometry.h); } } =================================================================== RCS file: /cvs/e/e17/libs/evas/src/lib/canvas/evas_object_image.c,v retrieving revision 1.43 retrieving revision 1.44 diff -u -3 -r1.43 -r1.44 --- evas_object_image.c 30 Sep 2006 10:18:32 -0000 1.43 +++ evas_object_image.c 16 Nov 2006 03:20:24 -0000 1.44 @@ -1566,7 +1566,8 @@ if (idh < 1.0) idh = 1.0; if (idx > 0.0) idx -= idw; if (idy > 0.0) idy -= idh; - while ((int)idx < obj->cur.cache.geometry.w) + while ((int)idx < obj->cur.geometry.w) +//// while ((int)idx < obj->cur.cache.geometry.w) { Evas_Coord ydy; int dobreak_w = 0; @@ -1577,11 +1578,13 @@ (o->cur.fill.x == 0.0)) { dobreak_w = 1; - iw = obj->cur.cache.geometry.w; + iw = obj->cur.geometry.w; +//// iw = obj->cur.cache.geometry.w; } else iw = ((int)(idx + idw)) - ix; - while ((int)idy < obj->cur.cache.geometry.h) + while ((int)idy < obj->cur.geometry.h) +//// while ((int)idy < obj->cur.cache.geometry.h) { int dobreak_h = 0; @@ -1589,7 +1592,8 @@ if ((o->cur.fill.h == obj->cur.geometry.h) && (o->cur.fill.y == 0.0)) { - ih = obj->cur.cache.geometry.h; + ih = obj->cur.geometry.h; +//// ih = obj->cur.cache.geometry.h; dobreak_h = 1; } else @@ -1606,8 +1610,10 @@ 0, 0, o->cur.image.w, o->cur.image.h, - obj->cur.cache.geometry.x + ix + x, - obj->cur.cache.geometry.y + iy + y, + obj->cur.geometry.x + ix + x, + obj->cur.geometry.y + iy + y, +//// obj->cur.cache.geometry.x + ix + x, +//// obj->cur.cache.geometry.y + iy + y, iw, ih, o->cur.smooth_scale); else @@ -1616,8 +1622,10 @@ int bl, br, bt, bb; int imw, imh, ox, oy; - ox = obj->cur.cache.geometry.x + ix + x; - oy = obj->cur.cache.geometry.y + iy + y; + ox = obj->cur.geometry.x + ix + x; + oy = obj->cur.geometry.y + iy + y; +//// ox = obj->cur.cache.geometry.x + ix + x; +//// oy = obj->cur.cache.geometry.y + iy + y; imw = o->cur.image.w; imh = o->cur.image.h; bl = o->cur.border.l; @@ -1819,14 +1827,22 @@ Evas_Rectangle *r; Evas_List *rl; - rl = evas_rects_return_difference_rects(obj->cur.cache.geometry.x, - obj->cur.cache.geometry.y, - obj->cur.cache.geometry.w, - obj->cur.cache.geometry.h, - obj->prev.cache.geometry.x, - obj->prev.cache.geometry.y, - obj->prev.cache.geometry.w, - obj->prev.cache.geometry.h); + rl = evas_rects_return_difference_rects(obj->cur.geometry.x, + obj->cur.geometry.y, + obj->cur.geometry.w, + obj->cur.geometry.h, + obj->prev.geometry.x, + obj->prev.geometry.y, + obj->prev.geometry.w, + obj->prev.geometry.h); +//// rl = evas_rects_return_difference_rects(obj->cur.cache.geometry.x, +//// obj->cur.cache.geometry.y, +//// obj->cur.cache.geometry.w, +//// obj->cur.cache.geometry.h, +//// obj->prev.cache.geometry.x, +//// obj->prev.cache.geometry.y, +//// obj->prev.cache.geometry.w, +//// obj->prev.cache.geometry.h); while (rl) { r = rl->data; @@ -1876,14 +1892,16 @@ if (idh < 1) idh = 1; if (idx > 0) idx -= idw; if (idy > 0) idy -= idh; - while (idx < obj->cur.cache.geometry.w) + while (idx < obj->cur.geometry.w) +//// while (idx < obj->cur.cache.geometry.w) { Evas_Coord ydy; ydy = idy; x = idx; w = ((int)(idx + idw)) - x; - while (idy < obj->cur.cache.geometry.h) + while (idy < obj->cur.geometry.h) +//// while (idy < obj->cur.cache.geometry.h) { y = idy; h = ((int)(idy + idh)) - y; @@ -1892,8 +1910,10 @@ r->y = ((rr->y - 1) * r->h) / o->cur.image.h; r->w = ((rr->w + 2) * r->w) / o->cur.image.w; r->h = ((rr->h + 2) * r->h) / o->cur.image.h; - r->x += obj->cur.cache.geometry.x + x; - r->y += obj->cur.cache.geometry.y + y; + r->x += obj->cur.geometry.x + x; + r->y += obj->cur.geometry.y + y; +//// r->x += obj->cur.cache.geometry.x + x; +//// r->y += obj->cur.cache.geometry.y + y; if (r) updates = evas_list_append(updates, r); idy += h; } =================================================================== RCS file: /cvs/e/e17/libs/evas/src/lib/canvas/evas_object_line.c,v retrieving revision 1.18 retrieving revision 1.19 diff -u -3 -r1.18 -r1.19 --- evas_object_line.c 2 May 2006 07:28:47 -0000 1.18 +++ evas_object_line.c 16 Nov 2006 03:20:24 -0000 1.19 @@ -142,7 +142,7 @@ obj->cur.geometry.y = min_y; obj->cur.geometry.w = max_x - min_x + 2.0; obj->cur.geometry.h = max_y - min_y + 2.0; - obj->cur.cache.geometry.validity = 0; +//// obj->cur.cache.geometry.validity = 0; o->cur.x1 = x1 - min_x; o->cur.y1 = y1 - min_y; o->cur.x2 = x2 - min_x; @@ -458,10 +458,14 @@ Evas_Object_Line *o; o = (Evas_Object_Line *)(obj->object_data); - o->cur.cache.x1 = evas_coord_world_x_to_screen(obj->layer->evas, obj->cur.geometry.x + o->cur.x1); - o->cur.cache.y1 = evas_coord_world_y_to_screen(obj->layer->evas, obj->cur.geometry.y + o->cur.y1); - o->cur.cache.x2 = evas_coord_world_x_to_screen(obj->layer->evas, obj->cur.geometry.x + o->cur.x2); - o->cur.cache.y2 = evas_coord_world_y_to_screen(obj->layer->evas, obj->cur.geometry.y + o->cur.y2); + o->cur.cache.x1 = obj->cur.geometry.x + o->cur.x1; + o->cur.cache.y1 = obj->cur.geometry.y + o->cur.y2; + o->cur.cache.x2 = obj->cur.geometry.x + o->cur.x2; + o->cur.cache.y2 = obj->cur.geometry.y + o->cur.y2; +//// o->cur.cache.x1 = evas_coord_world_x_to_screen(obj->layer->evas, obj->cur.geometry.x + o->cur.x1); +//// o->cur.cache.y1 = evas_coord_world_y_to_screen(obj->layer->evas, obj->cur.geometry.y + o->cur.y1); +//// o->cur.cache.x2 = evas_coord_world_x_to_screen(obj->layer->evas, obj->cur.geometry.x + o->cur.x2); +//// o->cur.cache.y2 = evas_coord_world_y_to_screen(obj->layer->evas, obj->cur.geometry.y + o->cur.y2); o->cur.cache.object.w = obj->cur.geometry.w; o->cur.cache.object.h = obj->cur.geometry.h; } =================================================================== RCS file: /cvs/e/e17/libs/evas/src/lib/canvas/evas_object_main.c,v retrieving revision 1.53 retrieving revision 1.54 diff -u -3 -r1.53 -r1.54 --- evas_object_main.c 15 Oct 2006 14:39:16 -0000 1.53 +++ evas_object_main.c 16 Nov 2006 03:20:24 -0000 1.54 @@ -145,10 +145,14 @@ } else if (obj->cur.clipper) { - rl = evas_rects_return_difference_rects(obj->cur.cache.geometry.x, - obj->cur.cache.geometry.y, - obj->cur.cache.geometry.w, - obj->cur.cache.geometry.h, + rl = evas_rects_return_difference_rects(obj->cur.geometry.x, + obj->cur.geometry.y, + obj->cur.geometry.w, + obj->cur.geometry.h, +//// rl = evas_rects_return_difference_rects(obj->cur.cache.geometry.x, +//// obj->cur.cache.geometry.y, +//// obj->cur.cache.geometry.w, +//// obj->cur.cache.geometry.h, obj->cur.clipper->cur.cache.clip.x, obj->cur.clipper->cur.cache.clip.y, obj->cur.clipper->cur.cache.clip.w, @@ -162,10 +166,14 @@ } else if (obj->prev.clipper) { - rl = evas_rects_return_difference_rects(obj->prev.cache.geometry.x, - obj->prev.cache.geometry.y, - obj->prev.cache.geometry.w, - obj->prev.cache.geometry.h, + rl = evas_rects_return_difference_rects(obj->prev.geometry.x, + obj->prev.geometry.y, + obj->prev.geometry.w, + obj->prev.geometry.h, +//// rl = evas_rects_return_difference_rects(obj->prev.cache.geometry.x, +//// obj->prev.cache.geometry.y, +//// obj->prev.cache.geometry.w, +//// obj->prev.cache.geometry.h, obj->prev.clipper->prev.cache.clip.x, obj->prev.clipper->prev.cache.clip.y, obj->prev.clipper->prev.cache.clip.w, @@ -186,16 +194,24 @@ Evas_Rectangle *r; NEW_RECT(r, - obj->cur.cache.geometry.x, - obj->cur.cache.geometry.y, - obj->cur.cache.geometry.w, - obj->cur.cache.geometry.h); + obj->cur.geometry.x, + obj->cur.geometry.y, + obj->cur.geometry.w, + obj->cur.geometry.h); +//// obj->cur.cache.geometry.x, +//// obj->cur.cache.geometry.y, +//// obj->cur.cache.geometry.w, +//// obj->cur.cache.geometry.h); if (r) updates = evas_list_append(updates, r); NEW_RECT(r, - obj->prev.cache.geometry.x, - obj->prev.cache.geometry.y, - obj->prev.cache.geometry.w, - obj->prev.cache.geometry.h); + obj->prev.geometry.x, + obj->prev.geometry.y, + obj->prev.geometry.w, + obj->prev.geometry.h); +//// obj->prev.cache.geometry.x, +//// obj->prev.cache.geometry.y, +//// obj->prev.cache.geometry.w, +//// obj->prev.cache.geometry.h); if (r) updates = evas_list_append(updates, r); return updates; } @@ -289,20 +305,20 @@ evas_object_coords_recalc(Evas_Object *obj) { if (obj->smart.smart) return; - if (obj->cur.cache.geometry.validity == obj->layer->evas->output_validity) - return; - obj->cur.cache.geometry.x = - evas_coord_world_x_to_screen(obj->layer->evas, obj->cur.geometry.x); - obj->cur.cache.geometry.y = - evas_coord_world_y_to_screen(obj->layer->evas, obj->cur.geometry.y); - obj->cur.cache.geometry.w = - evas_coord_world_x_to_screen(obj->layer->evas, obj->cur.geometry.w) - - evas_coord_world_x_to_screen(obj->layer->evas, 0); - obj->cur.cache.geometry.h = - evas_coord_world_y_to_screen(obj->layer->evas, obj->cur.geometry.h) - - evas_coord_world_y_to_screen(obj->layer->evas, 0); +//// if (obj->cur.cache.geometry.validity == obj->layer->evas->output_validity) +//// return; +//// obj->cur.cache.geometry.x = +//// evas_coord_world_x_to_screen(obj->layer->evas, obj->cur.geometry.x); +//// obj->cur.cache.geometry.y = +//// evas_coord_world_y_to_screen(obj->layer->evas, obj->cur.geometry.y); +//// obj->cur.cache.geometry.w = +//// evas_coord_world_x_to_screen(obj->layer->evas, obj->cur.geometry.w) - +//// evas_coord_world_x_to_screen(obj->layer->evas, 0); +//// obj->cur.cache.geometry.h = +//// evas_coord_world_y_to_screen(obj->layer->evas, obj->cur.geometry.h) - +//// evas_coord_world_y_to_screen(obj->layer->evas, 0); if (obj->func->coords_recalc) obj->func->coords_recalc(obj); - obj->cur.cache.geometry.validity = obj->layer->evas->output_validity; +//// obj->cur.cache.geometry.validity = obj->layer->evas->output_validity; } int @@ -501,7 +517,7 @@ } obj->cur.geometry.x = x; obj->cur.geometry.y = y; - obj->cur.cache.geometry.validity = 0; +//// obj->cur.cache.geometry.validity = 0; evas_object_change(obj); evas_object_clip_dirty(obj); if (obj->layer->evas->events_frozen <= 0) @@ -574,7 +590,7 @@ } obj->cur.geometry.w = w; obj->cur.geometry.h = h; - obj->cur.cache.geometry.validity = 0; +//// obj->cur.cache.geometry.validity = 0; evas_object_change(obj); evas_object_clip_dirty(obj); evas_object_recalc_clippees(obj); @@ -754,8 +770,8 @@ ev.buttons = obj->layer->evas->pointer.button; ev.output.x = obj->layer->evas->pointer.x; ev.output.y = obj->layer->evas->pointer.y; - ev.canvas.x = obj->layer->evas->pointer.canvas_x; - ev.canvas.y = obj->layer->evas->pointer.canvas_y; + ev.canvas.x = obj->layer->evas->pointer.x; + ev.canvas.y = obj->layer->evas->pointer.y; ev.data = NULL; ev.modifiers = &(obj->layer->evas->modifiers); ev.locks = &(obj->layer->evas->locks); @@ -1009,8 +1025,10 @@ MAGIC_CHECK(e, Evas, MAGIC_EVAS); return NULL; MAGIC_CHECK_END(); - xx = evas_coord_world_x_to_screen(e, x); - yy = evas_coord_world_y_to_screen(e, y); + xx = x; + yy = y; +//// xx = evas_coord_world_x_to_screen(e, x); +//// yy = evas_coord_world_y_to_screen(e, y); for (l = ((Evas_Object_List *)(e->layers))->last; l; l = l->prev) { Evas_Object_List *l2; @@ -1043,7 +1061,8 @@ EAPI Evas_Object * evas_object_top_at_pointer_get(Evas *e) { - return evas_object_top_at_xy_get(e, e->pointer.canvas_x, e->pointer.canvas_y, 0, 0); +//// return evas_object_top_at_xy_get(e, e->pointer.canvas_x, e->pointer.canvas_y, 0, 0); + return evas_object_top_at_xy_get(e, e->pointer.x, e->pointer.y, 1, 1); } /** @@ -1061,10 +1080,14 @@ MAGIC_CHECK(e, Evas, MAGIC_EVAS); return NULL; MAGIC_CHECK_END(); - xx = evas_coord_world_x_to_screen(e, x); - yy = evas_coord_world_y_to_screen(e, y); - ww = evas_coord_world_x_to_screen(e, w); - hh = evas_coord_world_y_to_screen(e, h); + xx = x; + yy = y; + ww = w; + hh = h; +//// xx = evas_coord_world_x_to_screen(e, x); +//// yy = evas_coord_world_y_to_screen(e, y); +//// ww = evas_coord_world_x_to_screen(e, w); +//// hh = evas_coord_world_y_to_screen(e, h); if (ww < 1) ww = 1; if (hh < 1) hh = 1; for (l = ((Evas_Object_List *)(e->layers))->last; l; l = l->prev) @@ -1106,8 +1129,10 @@ MAGIC_CHECK(e, Evas, MAGIC_EVAS); return NULL; MAGIC_CHECK_END(); - xx = evas_coord_world_x_to_screen(e, x); - yy = evas_coord_world_y_to_screen(e, y); + xx = x; + yy = y; +//// xx = evas_coord_world_x_to_screen(e, x); +//// yy = evas_coord_world_y_to_screen(e, y); for (l = ((Evas_Object_List *)(e->layers))->last; l; l = l->prev) { Evas_Object_List *l2; @@ -1147,10 +1172,14 @@ MAGIC_CHECK(e, Evas, MAGIC_EVAS); return NULL; MAGIC_CHECK_END(); - xx = evas_coord_world_x_to_screen(e, x); - yy = evas_coord_world_y_to_screen(e, y); - ww = evas_coord_world_x_to_screen(e, w); - hh = evas_coord_world_y_to_screen(e, h); + xx = x; + yy = y; + ww = w; + hh = h; +//// xx = evas_coord_world_x_to_screen(e, x); +//// yy = evas_coord_world_y_to_screen(e, y); +//// ww = evas_coord_world_x_to_screen(e, w); +//// hh = evas_coord_world_y_to_screen(e, h); if (ww < 1) ww = 1; if (hh < 1) hh = 1; for (l = ((Evas_Object_List *)(e->layers))->last; l; l = l->prev) =================================================================== RCS file: /cvs/e/e17/libs/evas/src/lib/canvas/evas_object_polygon.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -3 -r1.17 -r1.18 --- evas_object_polygon.c 2 May 2006 07:28:47 -0000 1.17 +++ evas_object_polygon.c 16 Nov 2006 03:20:24 -0000 1.18 @@ -141,7 +141,7 @@ } o->points = evas_list_append(o->points, p); - obj->cur.cache.geometry.validity = 0; +//// obj->cur.cache.geometry.validity = 0; o->changed = 1; evas_object_change(obj); evas_object_coords_recalc(obj); @@ -192,7 +192,7 @@ } obj->cur.geometry.w = 0; obj->cur.geometry.h = 0; - obj->cur.cache.geometry.validity = 0; +//// obj->cur.cache.geometry.validity = 0; o->changed = 1; evas_object_change(obj); evas_object_coords_recalc(obj); @@ -294,15 +294,15 @@ for (l = o->points; l; l = l->next) { Evas_Polygon_Point *p; - int px, py; +//// int px, py; p = l->data; - px = evas_coord_world_x_to_screen(obj->layer->evas, p->x); - py = evas_coord_world_y_to_screen(obj->layer->evas, p->y); +//// px = evas_coord_world_x_to_screen(obj->layer->evas, p->x); +//// py = evas_coord_world_y_to_screen(obj->layer->evas, p->y); o->engine_data = obj->layer->evas->engine.func->polygon_point_add(obj->layer->evas->engine.data.output, obj->layer->evas->engine.data.context, o->engine_data, - px + x, py + y); + p->x + x, p->y + y); } if (o->engine_data) obj->layer->evas->engine.func->polygon_draw(output, =================================================================== RCS file: /cvs/e/e17/libs/evas/src/lib/canvas/evas_object_rectangle.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- evas_object_rectangle.c 2 May 2006 07:28:47 -0000 1.10 +++ evas_object_rectangle.c 16 Nov 2006 03:20:24 -0000 1.11 @@ -150,10 +150,14 @@ obj->layer->evas->engine.func->rectangle_draw(output, context, surface, - obj->cur.cache.geometry.x + x, - obj->cur.cache.geometry.y + y, - obj->cur.cache.geometry.w, - obj->cur.cache.geometry.h); + obj->cur.geometry.x + x, + obj->cur.geometry.y + y, + obj->cur.geometry.w, + obj->cur.geometry.h); +//// obj->cur.cache.geometry.x + x, +//// obj->cur.cache.geometry.y + y, +//// obj->cur.cache.geometry.w, +//// obj->cur.cache.geometry.h); } static void @@ -224,14 +228,22 @@ Evas_Rectangle *r; Evas_List *rl; - rl = evas_rects_return_difference_rects(obj->cur.cache.geometry.x, - obj->cur.cache.geometry.y, - obj->cur.cache.geometry.w, - obj->cur.cache.geometry.h, - obj->prev.cache.geometry.x, - obj->prev.cache.geometry.y, - obj->prev.cache.geometry.w, - obj->prev.cache.geometry.h); + rl = evas_rects_return_difference_rects(obj->cur.geometry.x, + obj->cur.geometry.y, + obj->cur.geometry.w, + obj->cur.geometry.h, + obj->prev.geometry.x, + obj->prev.geometry.y, + obj->prev.geometry.w, + obj->prev.geometry.h); +//// rl = evas_rects_return_difference_rects(obj->cur.cache.geometry.x, +//// obj->cur.cache.geometry.y, +//// obj->cur.cache.geometry.w, +//// obj->cur.cache.geometry.h, +//// obj->prev.cache.geometry.x, +//// obj->prev.cache.geometry.y, +//// obj->prev.cache.geometry.w, +//// obj->prev.cache.geometry.h); while (rl) { r = rl->data; =================================================================== RCS file: /cvs/e/e17/libs/evas/src/lib/canvas/evas_object_text.c,v retrieving revision 1.60 retrieving revision 1.61 diff -u -3 -r1.60 -r1.61 --- evas_object_text.c 30 Sep 2006 10:18:32 -0000 1.60 +++ evas_object_text.c 16 Nov 2006 03:20:24 -0000 1.61 @@ -202,7 +202,7 @@ o->max_descent = ENFN->font_max_descent_get(ENDT, o->engine_data); obj->cur.geometry.w = w + l + r; obj->cur.geometry.h = o->max_ascent + o->max_descent + t + b; - obj->cur.cache.geometry.validity = 0; +//// obj->cur.cache.geometry.validity = 0; } else { @@ -222,7 +222,7 @@ } obj->cur.geometry.w = 0; obj->cur.geometry.h = o->max_ascent + o->max_descent + t + b; - obj->cur.cache.geometry.validity = 0; +//// obj->cur.cache.geometry.validity = 0; } o->changed = 1; evas_object_change(obj); @@ -311,7 +311,7 @@ evas_text_style_pad_get(o->cur.style, &l, &r, &t, &b); obj->cur.geometry.w = w + l + r; obj->cur.geometry.h = h + t + b; - obj->cur.cache.geometry.validity = 0; +//// obj->cur.cache.geometry.validity = 0; } else { @@ -320,7 +320,7 @@ evas_text_style_pad_get(o->cur.style, NULL, NULL, &t, &b); obj->cur.geometry.w = 0; obj->cur.geometry.h = o->max_ascent + o->max_descent + t + b; - obj->cur.cache.geometry.validity = 0; +//// obj->cur.cache.geometry.validity = 0; } o->changed = 1; evas_object_change(obj); @@ -1393,16 +1393,32 @@ context, \ surface, \ o->engine_data, \ - obj->cur.cache.geometry.x + x + sl + ox - \ + obj->cur.geometry.x + x + sl + ox - \ ENFN->font_inset_get(ENDT, o->engine_data, o->cur.text), \ - obj->cur.cache.geometry.y + y + st + oy + \ + obj->cur.geometry.y + y + st + oy + \ (int) \ - (((o->max_ascent * obj->cur.cache.geometry.h) / obj->cur.geometry.h) - 0.5), \ - obj->cur.cache.geometry.w, \ - obj->cur.cache.geometry.h, \ + (((o->max_ascent * obj->cur.geometry.h) / obj->cur.geometry.h) - 0.5), \ + obj->cur.geometry.w, \ + obj->cur.geometry.h, \ obj->cur.geometry.w, \ obj->cur.geometry.h, \ o->cur.text); +////#define DRAW_TEXT(ox, oy) \ +//// if ((o->engine_data) && (o->cur.text)) \ +//// ENFN->font_draw(output, \ +//// context, \ +//// surface, \ +//// o->engine_data, \ +//// obj->cur.cache.geometry.x + x + sl + ox - \ +//// ENFN->font_inset_get(ENDT, o->engine_data, o->cur.text), \ +//// obj->cur.cache.geometry.y + y + st + oy + \ +//// (int) \ +//// (((o->max_ascent * obj->cur.cache.geometry.h) / obj->cur.geometry.h) - 0.5), \ +//// obj->cur.cache.geometry.w, \ +//// obj->cur.cache.geometry.h, \ +//// obj->cur.geometry.w, \ +//// obj->cur.geometry.h, \ +//// o->cur.text); /* shadows */ if (o->cur.style == EVAS_TEXT_STYLE_SHADOW) { @@ -1672,7 +1688,7 @@ evas_text_style_pad_get(o->cur.style, &l, &r, &t, &b); obj->cur.geometry.w = w + l + r; obj->cur.geometry.h = h + t + b; - obj->cur.cache.geometry.validity = 0; +//// obj->cur.cache.geometry.validity = 0; } else { @@ -1681,7 +1697,7 @@ evas_text_style_pad_get(o->cur.style, NULL, NULL, &t, &b); obj->cur.geometry.w = 0; obj->cur.geometry.h = o->max_ascent + o->max_descent + t + b; - obj->cur.cache.geometry.validity = 0; +//// obj->cur.cache.geometry.validity = 0; } o->changed = 1; evas_object_change(obj); =================================================================== RCS file: /cvs/e/e17/libs/evas/src/lib/canvas/evas_object_textblock.c,v retrieving revision 1.131 retrieving revision 1.132 diff -u -3 -r1.131 -r1.132 --- evas_object_textblock.c 30 Sep 2006 10:18:32 -0000 1.131 +++ evas_object_textblock.c 16 Nov 2006 03:20:24 -0000 1.132 @@ -4006,10 +4006,14 @@ obj->layer->evas->engine.func->rectangle_draw(output, context, surface, - obj->cur.cache.geometry.x + x, - obj->cur.cache.geometry.y + y, - obj->cur.cache.geometry.w, - obj->cur.cache.geometry.h); + obj->cur.geometry.x + x, + obj->cur.geometry.y + y, + obj->cur.geometry.w, + obj->cur.geometry.h); +//// obj->cur.cache.geometry.x + x, +//// obj->cur.cache.geometry.y + y, +//// obj->cur.cache.geometry.w, +//// obj->cur.cache.geometry.h); #endif #define ITEM_WALK() \ for (l = (Evas_Object_List *)o->lines; l; l = l->next) \ @@ -4047,9 +4051,16 @@ (obj->cur.cache.clip.a * it->format->color.col.a * (amul)) / 65025); #define DRAW_TEXT(ox, oy) \ if (it->format->font.font) ENFN->font_draw(output, context, surface, it->format->font.font, \ - obj->cur.cache.geometry.x + ln->x + it->x - it->inset + x + (ox), \ - obj->cur.cache.geometry.y + ln->y + yoff + y + (oy), \ + obj->cur.geometry.x + ln->x + it->x - it->inset + x + (ox), \ + obj->cur.geometry.y + ln->y + yoff + y + (oy), \ it->w, it->h, it->w, it->h, it->text); +////#define DRAW_TEXT(ox, oy) \ +//// if (it->format->font.font) ENFN->font_draw(output, context, surface, it->format->font.font, \ +//// obj->cur.geometry.x + ln->x + it->x - it->inset + x + (ox), \ +//// obj->cur.geometry.y + ln->y + yoff + y + (oy), \ +//// obj->cur.cache.geometry.x + ln->x + it->x - it->inset + x + (ox), \ +//// obj->cur.cache.geometry.y + ln->y + yoff + y + (oy), \ +//// it->w, it->h, it->w, it->h, it->text); pback = 0; /* backing */ @@ -4095,8 +4106,10 @@ ENFN->rectangle_draw(output, context, surface, - obj->cur.cache.geometry.x + ln->x + backx + x, - obj->cur.cache.geometry.y + ln->y + y, + obj->cur.geometry.x + ln->x + backx + x, + obj->cur.geometry.y + ln->y + y, +//// obj->cur.cache.geometry.x + ln->x + backx + x, +//// obj->cur.cache.geometry.y + ln->y + y, x2 - backx, ln->h); } @@ -4249,8 +4262,10 @@ ENFN->rectangle_draw(output, context, surface, - obj->cur.cache.geometry.x + ln->x + strikex + x, - obj->cur.cache.geometry.y + ln->y + y + (ln->h / 2), + obj->cur.geometry.x + ln->x + strikex + x, + obj->cur.geometry.y + ln->y + y + (ln->h / 2), +//// obj->cur.cache.geometry.x + ln->x + strikex + x, +//// obj->cur.cache.geometry.y + ln->y + y + (ln->h / 2), x2 - strikex, 1); } @@ -4302,8 +4317,10 @@ ENFN->rectangle_draw(output, context, surface, - obj->cur.cache.geometry.x + ln->x + linex + x, - obj->cur.cache.geometry.y + ln->y + y + ln->baseline + 1, + obj->cur.geometry.x + ln->x + linex + x, + obj->cur.geometry.y + ln->y + y + ln->baseline + 1, +//// obj->cur.cache.geometry.x + ln->x + linex + x, +//// obj->cur.cache.geometry.y + ln->y + y + ln->baseline + 1, x2 - linex, 1); } @@ -4355,8 +4372,10 @@ ENFN->rectangle_draw(output, context, surface, - obj->cur.cache.geometry.x + ln->x + line2x + x, - obj->cur.cache.geometry.y + ln->y + y + ln->baseline + 3, + obj->cur.geometry.x + ln->x + line2x + x, + obj->cur.geometry.y + ln->y + y + ln->baseline + 3, +//// obj->cur.cache.geometry.x + ln->x + line2x + x, +//// obj->cur.cache.geometry.y + ln->y + y + ln->baseline + 3, x2 - line2x, 1); } =================================================================== RCS file: /cvs/e/e17/libs/evas/src/lib/canvas/evas_render.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -3 -r1.20 -r1.21 --- evas_render.c 18 Sep 2006 09:40:28 -0000 1.20 +++ evas_render.c 16 Nov 2006 03:20:24 -0000 1.21 @@ -238,6 +238,10 @@ 0, 0, e->output.w, e->output.h); } + if ((e->output.w != e->viewport.w) || (e->output.h != e->viewport.h)) + { + printf("EVAS: error: viewport size != output size!\n"); + } /* phase 5. add obscures */ for (ll = e->obscures; ll; ll = ll->next) { ------------------------------------------------------------------------- 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