forked from enlightenment/efl
spotted some old debugging code... and fixed up dfb engine to handle sruface
proeprly that uses its alpha channle where no objects exist (similar to the software x11 engine and shape masks etc.) SVN revision: 6461
This commit is contained in:
parent
31e88e86b7
commit
c3e29f8adc
|
@ -290,6 +290,7 @@ evas_engine_directfb_output_redraws_next_update_get(void *data, int *x, int *y,
|
||||||
Evas_Object_List *l;
|
Evas_Object_List *l;
|
||||||
int ux, uy, uw, uh;
|
int ux, uy, uw, uh;
|
||||||
static first = 1;
|
static first = 1;
|
||||||
|
DFBRegion region;
|
||||||
|
|
||||||
re = (Render_Engine *) data;
|
re = (Render_Engine *) data;
|
||||||
if (re->end)
|
if (re->end)
|
||||||
|
@ -320,6 +321,14 @@ evas_engine_directfb_output_redraws_next_update_get(void *data, int *x, int *y,
|
||||||
*cy = *y = uy;
|
*cy = *y = uy;
|
||||||
*cw = *w = uw;
|
*cw = *w = uw;
|
||||||
*ch = *h = uh;
|
*ch = *h = uh;
|
||||||
|
region.x1 = ux;
|
||||||
|
region.y1 = uy;
|
||||||
|
region.x2 = ux + uw - 1;
|
||||||
|
region.y2 = uy + uh - 1;
|
||||||
|
re->backbuf->SetClip(re->backbuf, ®ion);
|
||||||
|
re->backbuf->Clear(re->backbuf, 0, 0, 0, 0);
|
||||||
|
re->backbuf->SetClip(re->backbuf, NULL);
|
||||||
|
|
||||||
|
|
||||||
/* Return the "fake" surface so it is passed to the drawing routines. */
|
/* Return the "fake" surface so it is passed to the drawing routines. */
|
||||||
return re->rgba_image;
|
return re->rgba_image;
|
||||||
|
@ -871,6 +880,7 @@ evas_engine_directfb_font_draw(void *data, void *context, void *surface,
|
||||||
surf = (IDirectFBSurface *)im->image->data;
|
surf = (IDirectFBSurface *)im->image->data;
|
||||||
surf->Lock(surf, DSLF_WRITE, &p, &pitch);
|
surf->Lock(surf, DSLF_WRITE, &p, &pitch);
|
||||||
im->image->data = p;
|
im->image->data = p;
|
||||||
|
im->flags |= RGBA_IMAGE_HAS_ALPHA;
|
||||||
if ((w == ow) && (h == oh))
|
if ((w == ow) && (h == oh))
|
||||||
evas_common_font_draw(im, context, font, x, y, text);
|
evas_common_font_draw(im, context, font, x, y, text);
|
||||||
else
|
else
|
||||||
|
@ -893,7 +903,7 @@ evas_engine_directfb_font_draw(void *data, void *context, void *surface,
|
||||||
|
|
||||||
im->flags |= RGBA_IMAGE_HAS_ALPHA;
|
im->flags |= RGBA_IMAGE_HAS_ALPHA;
|
||||||
j = ow * oh;
|
j = ow * oh;
|
||||||
for (i = 0; i < j; i++) im->image->data[i] = (dc->col.col & 0xffffff);
|
memset(im->image->data, 0, j * sizeof(DATA32));
|
||||||
|
|
||||||
max_ascent = evas_common_font_max_ascent_get(font);
|
max_ascent = evas_common_font_max_ascent_get(font);
|
||||||
|
|
||||||
|
|
|
@ -994,7 +994,7 @@ evas_engine_software_qtopia_font_draw(void *data, void *context, void *surface,
|
||||||
|
|
||||||
im->flags |= RGBA_IMAGE_HAS_ALPHA;
|
im->flags |= RGBA_IMAGE_HAS_ALPHA;
|
||||||
j = ow * oh;
|
j = ow * oh;
|
||||||
for (i = 0; i < j; i++) im->image->data[i] = (dc->col.col & 0xffffff);
|
memset(im->image->data, 0, j * sizeof(DATA32));
|
||||||
|
|
||||||
max_ascent = evas_common_font_max_ascent_get(font);
|
max_ascent = evas_common_font_max_ascent_get(font);
|
||||||
|
|
||||||
|
|
|
@ -1037,7 +1037,7 @@ evas_engine_software_x11_font_draw(void *data, void *context, void *surface, voi
|
||||||
|
|
||||||
im->flags |= RGBA_IMAGE_HAS_ALPHA;
|
im->flags |= RGBA_IMAGE_HAS_ALPHA;
|
||||||
j = ow * oh;
|
j = ow * oh;
|
||||||
for (i = 0; i < j; i++) im->image->data[i] = (dc->col.col & 0xffffff);
|
memset(im->image->data, 0, j * sizeof(DATA32));
|
||||||
|
|
||||||
max_ascent = evas_common_font_max_ascent_get(font);
|
max_ascent = evas_common_font_max_ascent_get(font);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue