evas: Fixed the textblock format to be drawn according to the glyph's horizontal advance width.

Summary:
Some characters have different two value on glyph's width and horizontal advance width.
If the glyph's width is smaller than advance width, format can be drawn weird.

Test Plan:
Set underline:on to the entry style and just insert the following characters.
。
、
)
(

Reviewers: tasn, woohyun

CC: cedric

Differential Revision: https://phab.enlightenment.org/D270
This commit is contained in:
Youngbok Shin 2013-10-18 11:25:59 +01:00 committed by Tom Hacohen
parent 91565c48e3
commit d17e0d3936
3 changed files with 7 additions and 8 deletions

View File

@ -1,3 +1,8 @@
2013-10-18 Youngbok Shin
* Fixed the textblock format to be drawn according to
the glyph's horizontal advance width.
2013-10-15 ChunEon Park (Hermet)
* Fixed the map surface to be updated properly. By tranversing the

1
NEWS
View File

@ -357,6 +357,7 @@ Fixes:
- Evas bidi: Fixed a bug causing BiDi not to work in some cases.
- Evas textblock: fixed an issue with markup_get and markup_to_utf8 behaving differently (markup_get was misbehaving).
- Fixed the map surface to be updated properly. By tranversing the whole of the map target's tree, it decides to update the map surface to be redrawn if one of the objects is changed except the clipper itself.
- Fixed the textblock format to be drawn according to the glyph's horizontal advance width.
* Ecore:
- Don't leak fd on exec.

View File

@ -10869,14 +10869,7 @@ evas_object_textblock_render(Evas_Object *eo_obj EINA_UNUSED,
_og = itr->format->color.oname.g; \
_ob = itr->format->color.oname.b; \
_oa = itr->format->color.oname.a; \
if (!EINA_INLIST_GET(itr)->next) \
{ \
DRAW_RECT(itr->x, oy, itr->w, oh, _or, _og, _ob, _oa); \
} \
else \
{ \
DRAW_RECT(itr->x, oy, itr->adv, oh, _or, _og, _ob, _oa); \
} \
DRAW_RECT(itr->x, oy, itr->adv, oh, _or, _og, _ob, _oa); \
} \
} \
while (0)