forked from enlightenment/efl
parent
05f90c5d9e
commit
3791395e22
|
@ -1076,18 +1076,20 @@ evas_engine_buffer_font_draw(void *data, void *context, void *surface, void *fon
|
|||
render_w = (ow * mult) / divv;
|
||||
render_h = (oh * mult) / divv;
|
||||
|
||||
newfont = evas_common_font_load( ((RGBA_Font *)font)->src->name, (((RGBA_Font *)font)->size*mult)/divv);
|
||||
|
||||
dc->col.col = dc_in->col.col;
|
||||
im = evas_common_image_create(render_w, render_h);
|
||||
int inset = evas_common_font_query_inset( font, text);
|
||||
im = evas_common_image_create(render_w+inset, render_h);
|
||||
if (im)
|
||||
{
|
||||
int max_ascent;
|
||||
int i, j;
|
||||
|
||||
im->flags |= RGBA_IMAGE_HAS_ALPHA;
|
||||
j = render_w * render_h;
|
||||
j = (render_w+inset) * render_h;
|
||||
for (i = 0; i < j; i++) im->image->data[i] = (dc->col.col & 0xffffff);
|
||||
|
||||
newfont = evas_common_font_load( ((RGBA_Font *)font)->src->name, (((RGBA_Font *)font)->size*mult)/divv);
|
||||
if (newfont)
|
||||
{
|
||||
max_ascent = evas_common_font_max_ascent_get(newfont);
|
||||
|
@ -1095,8 +1097,8 @@ evas_engine_buffer_font_draw(void *data, void *context, void *surface, void *fon
|
|||
evas_common_font_draw(im, dc, newfont, 0, max_ascent, text);
|
||||
evas_common_cpu_end_opt();
|
||||
evas_common_scale_rgba_in_to_out_clip_smooth(im, surface, context,
|
||||
0, 0, render_w, render_h,
|
||||
x, y - ((max_ascent * h) / render_h),
|
||||
inset, 0, render_w, render_h,
|
||||
x + ((inset * w) / render_w), y - ((max_ascent * h) / render_h),
|
||||
w, h);
|
||||
evas_common_font_free(newfont);
|
||||
}
|
||||
|
|
|
@ -978,14 +978,15 @@ evas_engine_fb_font_draw(void *data, void *context, void *surface, void *font, i
|
|||
RGBA_Image *im;
|
||||
|
||||
dc->col.col = dc_in->col.col;
|
||||
im = evas_common_image_create(ow, oh);
|
||||
int inset = evas_common_font_query_inset( font, text);
|
||||
im = evas_common_image_create(ow+inset, oh);
|
||||
if (im)
|
||||
{
|
||||
int max_ascent;
|
||||
int i, j;
|
||||
|
||||
im->flags |= RGBA_IMAGE_HAS_ALPHA;
|
||||
j = ow * oh;
|
||||
j = (ow+inset) * oh;
|
||||
for (i = 0; i < j; i++) im->image->data[i] = (dc->col.col & 0xffffff);
|
||||
|
||||
max_ascent = evas_common_font_max_ascent_get(font);
|
||||
|
@ -993,8 +994,8 @@ evas_engine_fb_font_draw(void *data, void *context, void *surface, void *font, i
|
|||
evas_common_font_draw(im, dc, font, 0, max_ascent, text);
|
||||
evas_common_cpu_end_opt();
|
||||
evas_common_scale_rgba_in_to_out_clip_smooth(im, surface, context,
|
||||
0, 0, ow, oh,
|
||||
x, y - ((max_ascent * h) / oh),
|
||||
inset, 0, ow, oh,
|
||||
x + ((inset * w) / ow), y - ((max_ascent * h) / oh),
|
||||
w, h);
|
||||
evas_common_image_free(im);
|
||||
}
|
||||
|
|
|
@ -1001,14 +1001,15 @@ evas_engine_software_qtopia_font_draw(void *data, void *context, void *surface,
|
|||
RGBA_Image *im;
|
||||
|
||||
dc->col.col = dc_in->col.col;
|
||||
im = evas_common_image_create(ow, oh);
|
||||
int inset = evas_common_font_query_inset( font, text);
|
||||
im = evas_common_image_create(ow+inset, oh);
|
||||
if (im)
|
||||
{
|
||||
int max_ascent;
|
||||
int i, j;
|
||||
|
||||
im->flags |= RGBA_IMAGE_HAS_ALPHA;
|
||||
j = ow * oh;
|
||||
j = (ow+inset) * oh;
|
||||
memset(im->image->data, 0, j * sizeof(DATA32));
|
||||
|
||||
max_ascent = evas_common_font_max_ascent_get(font);
|
||||
|
@ -1016,8 +1017,8 @@ evas_engine_software_qtopia_font_draw(void *data, void *context, void *surface,
|
|||
evas_common_font_draw(im, dc, font, 0, max_ascent, text);
|
||||
evas_common_cpu_end_opt();
|
||||
evas_common_scale_rgba_in_to_out_clip_smooth(im, surface, context,
|
||||
0, 0, ow, oh,
|
||||
x, y - ((max_ascent * h) / oh),
|
||||
inset, 0, ow, oh,
|
||||
x + ((inset * w) / ow), y - ((max_ascent * h) / oh),
|
||||
w, h);
|
||||
evas_common_image_free(im);
|
||||
}
|
||||
|
|
|
@ -1060,14 +1060,15 @@ evas_engine_software_x11_font_draw(void *data, void *context, void *surface, voi
|
|||
RGBA_Image *im;
|
||||
|
||||
dc->col.col = dc_in->col.col;
|
||||
im = evas_common_image_create(ow, oh);
|
||||
int inset = evas_common_font_query_inset( font, text);
|
||||
im = evas_common_image_create(ow+inset, oh);
|
||||
if (im)
|
||||
{
|
||||
int max_ascent;
|
||||
int i, j;
|
||||
|
||||
im->flags |= RGBA_IMAGE_HAS_ALPHA;
|
||||
j = ow * oh;
|
||||
j = (ow+inset) * oh;
|
||||
memset(im->image->data, 0, j * sizeof(DATA32));
|
||||
|
||||
max_ascent = evas_common_font_max_ascent_get(font);
|
||||
|
@ -1075,8 +1076,8 @@ evas_engine_software_x11_font_draw(void *data, void *context, void *surface, voi
|
|||
evas_common_font_draw(im, dc, font, 0, max_ascent, text);
|
||||
evas_common_cpu_end_opt();
|
||||
evas_common_scale_rgba_in_to_out_clip_smooth(im, surface, context,
|
||||
0, 0, ow, oh,
|
||||
x, y - ((max_ascent * h) / oh),
|
||||
inset, 0, ow, oh,
|
||||
x + ((inset * w) / ow), y - ((max_ascent * h) / oh),
|
||||
w, h);
|
||||
evas_common_image_free(im);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue