evas_engine.c   evas_engine.c 
skipping to change at line 405 skipping to change at line 405
image->cache_entry.w = sw; image->cache_entry.w = sw;
image->cache_entry.h = sh; image->cache_entry.h = sh;
image->image.data = pixels; image->image.data = pixels;
return 1; return 1;
} }
typedef void (*_cb_for_each_cutout_t)(IDirectFBSurface *surface, RGBA_Draw_ Context *dc, const DFBRegion *region, void *data); typedef void (*_cb_for_each_cutout_t)(IDirectFBSurface *surface, RGBA_Draw_ Context *dc, const DFBRegion *region, void *data);
static void static void
_dfb_surface_for_each_cutout(IDirectFBSurface *surface, RGBA_Draw_Context * dc, _cb_for_each_cutout_t cb, void *data) _dfb_surface_for_each_cutout(IDirectFBSurface *surface, RGBA_Draw_Context * dc, _cb_for_each_cutout_t cb, void *data)
{ {
Cutout_Rects *rects; static Cutout_Rects *rects = NULL;
int i; int i;
rects = evas_common_draw_context_apply_cutouts(dc); rects = evas_common_draw_context_apply_cutouts(dc, rects);
if (!rects) if (!rects)
{ {
DFBRegion cr; DFBRegion cr;
cr.x1 = 0; cr.x1 = 0;
cr.y1 = 0; cr.y1 = 0;
surface->GetSize(surface, &cr.x2, &cr.y2); surface->GetSize(surface, &cr.x2, &cr.y2);
cr.x2 -= 1; cr.x2 -= 1;
cr.y2 -= 1; cr.y2 -= 1;
surface->SetClip(surface, NULL); surface->SetClip(surface, NULL);
cb(surface, dc, &cr, data); cb(surface, dc, &cr, data);
skipping to change at line 436 skipping to change at line 436
r = rects->rects + i; r = rects->rects + i;
cr.x1 = r->x; cr.x1 = r->x;
cr.y1 = r->y; cr.y1 = r->y;
cr.x2 = r->x + r->w - 1; cr.x2 = r->x + r->w - 1;
cr.y2 = r->y + r->h - 1; cr.y2 = r->y + r->h - 1;
surface->SetClip(surface, &cr); surface->SetClip(surface, &cr);
cb(surface, dc, &cr, data); cb(surface, dc, &cr, data);
} }
evas_common_draw_context_apply_clear_cutouts(rects);
} }
static void static void
_dfb_rect_set(DFBRectangle *r, int x, int y, int w, int h) _dfb_rect_set(DFBRectangle *r, int x, int y, int w, int h)
{ {
r->x = x; r->x = x;
r->y = y; r->y = y;
r->w = w; r->w = w;
r->h = h; r->h = h;
} }
skipping to change at line 1035 skipping to change at line 1034
/* HACK!!! -- KLUDGE!!! /* HACK!!! -- KLUDGE!!!
* *
* This should really use IDirectFBFont and IDirectFBSurface::DrawString(), * This should really use IDirectFBFont and IDirectFBSurface::DrawString(),
* but to be edje-compatible IDirectFBFont::CreateFont() should be able to * but to be edje-compatible IDirectFBFont::CreateFont() should be able to
* load fonts from non-files, which it does not. * load fonts from non-files, which it does not.
* *
* Try to find a way to create own IDirectFBFont in future and load from * Try to find a way to create own IDirectFBFont in future and load from
* memory. * memory.
*/ */
static void static void
evas_engine_dfb_font_draw(void *data, void *context, void *surface, void *f ont, int x, int y, int w __UNUSED__, int h __UNUSED__, int ow __UNUSED__, i nt oh __UNUSED__, const Evas_Text_Props *intl_props) evas_engine_dfb_font_draw(void *data, void *context, void *surface, void *f ont, int x, int y, int w __UNUSED__, int h __UNUSED__, int ow __UNUSED__, i nt oh __UNUSED__, Evas_Text_Props *intl_props)
{ {
DirectFB_Engine_Image_Entry *eim = surface; DirectFB_Engine_Image_Entry *eim = surface;
IDirectFBSurface *screen; IDirectFBSurface *screen;
Render_Engine *re = data; Render_Engine *re = data;
RGBA_Image *im; RGBA_Image *im;
im = (RGBA_Image *)eim->cache_entry.src; im = (RGBA_Image *)eim->cache_entry.src;
screen = eim->surface; screen = eim->surface;
if (!_dfb_lock_and_sync_image(screen, im, DSLF_READ | DSLF_WRITE)) if (!_dfb_lock_and_sync_image(screen, im, DSLF_READ | DSLF_WRITE))
return; return;
evas_common_font_draw(im, context, font, x, y, intl_props); evas_common_font_draw_prepare(intl_props);
evas_common_font_draw(im, context, x, y, intl_props);
evas_common_cpu_end_opt(); evas_common_cpu_end_opt();
im->image.data = NULL; im->image.data = NULL;
screen->Unlock(screen); screen->Unlock(screen);
} }
static void static void
_cb_draw_line(IDirectFBSurface *surface, RGBA_Draw_Context *dc __UNUSED__, const DFBRegion *region __UNUSED__, void *data) _cb_draw_line(IDirectFBSurface *surface, RGBA_Draw_Context *dc __UNUSED__, const DFBRegion *region __UNUSED__, void *data)
{ {
skipping to change at line 1551 skipping to change at line 1551
deie->surface->Unlock(deie->surface); deie->surface->Unlock(deie->surface);
return; return;
error_src: error_src:
screen->Unlock(screen); screen->Unlock(screen);
} }
#endif #endif
static void static void
evas_engine_dfb_image_map_draw(void *data __UNUSED__, void *context, void * surface, void *image, int npoints, RGBA_Map_Point *p, int smooth, int level ) evas_engine_dfb_image_map_draw(void *data __UNUSED__, void *context, void * surface, void *image, RGBA_Map *m, int smooth, int level)
{ {
Render_Engine *re = (Render_Engine*) data; Render_Engine *re = (Render_Engine*) data;
DirectFB_Engine_Image_Entry *deie = image; DirectFB_Engine_Image_Entry *deie = image;
DirectFB_Engine_Image_Entry *eim = surface; DirectFB_Engine_Image_Entry *eim = surface;
IDirectFBSurface *screen; IDirectFBSurface *screen;
RGBA_Image *dst, *src; RGBA_Image *dst, *src;
if (!deie || !eim) return ; if (!deie || !eim) return ;
screen = eim->surface; screen = eim->surface;
dst = (RGBA_Image *) eim->cache_entry.src; dst = (RGBA_Image *) eim->cache_entry.src;
if (!_dfb_lock_and_sync_image(screen, dst, DSLF_READ | DSLF_WRITE)) if (!_dfb_lock_and_sync_image(screen, dst, DSLF_READ | DSLF_WRITE))
return; return;
src = (RGBA_Image *)deie->cache_entry.src; src = (RGBA_Image *)deie->cache_entry.src;
if (!_dfb_lock_and_sync_image(deie->surface, src, DSLF_READ)) if (!_dfb_lock_and_sync_image(deie->surface, src, DSLF_READ))
goto error_src; goto error_src;
evas_common_map_rgba(src, dst, context, 4, p, smooth, level); evas_common_map_rgba(src, dst, context, 4, &m->pts[0], smooth, level);
evas_common_cpu_end_opt(); evas_common_cpu_end_opt();
screen->Unlock(screen); screen->Unlock(screen);
deie->surface->Unlock(deie->surface); deie->surface->Unlock(deie->surface);
return ; return ;
error_src: error_src:
screen->Unlock(screen); screen->Unlock(screen);
} }
 End of changes. 7 change blocks. 
7 lines changed or deleted 7 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/