Commit Graph

81 Commits

Author SHA1 Message Date
Tom Hacohen f0d3cb91b3 Evas textblock: Fixed wrapping of lines ending with whites.
Whites at the end of lines ending with whites should not be cut, but
should be wrapped (there's no legal line break there).

Thanks to Shilpa Singh for reporting.
2013-11-25 14:41:24 +00:00
Tom Hacohen c23ef6de3d Evas textblock: Improved debug helper functions. 2013-11-21 14:22:02 +00:00
Tom Hacohen 7bba64d7ee Evas textblock: Fixed order of tags inserted with markup_app/prepend.
The order was messed up when inserting a few formats in the
markup_append/prepend functions without any characters between them.
For example, inserting "<b><i>" would result in "<i><b>" being inserted.

Thanks to YoungBok Shin for reporting this.
2013-11-19 16:05:34 +00:00
Yakov Goldberg c101d85541 evas/textblock: add const for param in evas_object_textblock_style_set for consistency 2013-11-11 13:17:03 +02:00
Tom Hacohen c7addf4083 Changed Eo class names to be consistent.
All the class names are now of the format: Lib_Type_Subtype_Extra.
2013-11-07 11:17:52 +00:00
Youngbok Shin cdb86e34bb Evas: Fixed textblock rendering to properly set render operation on context.
Render operation are not well tested. It appears that it was never properly setted
on a textblock, this would lead to see it rendered with the render operation of another
object.

Test Plan:
Add some rectangle object with textblock object.
The textblock style should be set to "backing=on backing_color=#ffffffff".
Set render operation to some rectangle with "evas_object_render_op_set(rect, EVAS_RENDER_COPY)".
Check the textblock.

Reviewers: woohyun, cedric, raster

Reviewed By: cedric

CC: cedric

Differential Revision: https://phab.enlightenment.org/D277

Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-11-01 11:12:01 +09:00
Youngbok Shin d17e0d3936 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
2013-10-18 11:25:59 +01:00
Cedric Bail 6be9cc74de evas: simplify logic for textblock style parameter parsing. 2013-10-16 18:56:32 +09:00
Carsten Haitzler aba7e9892e evas - fix textblock handling of effects for shadows and so on in some cases 2013-10-15 16:05:11 +09:00
Tom Hacohen 82f5f78dac Revert "evas/textblock - null check."
I'm sorry, but those kind of commit messages are unacceptable for code
I'm the only maintainer of. It's bad enough that to have them in the
project in general, but this I won't accept.

I wanted to review this commit, but the lack of explanation about what
you are trying to fix and why you think this is the good fix prevents me
from doing my job. However, without really looking too much into it,
this commit looks wrong. evas_textblock_cursor_format_is_visible_get
should verify there's a format node...

Please come up with a better commit message and re-commit.

This reverts commit fe33aa7408.
2013-10-03 18:45:07 +01:00
ChunEon Park fe33aa7408 evas/textblock - null check. 2013-10-04 02:43:20 +09:00
Tom Hacohen 04b28686af Evas Textblock: Use font underline properties.
This change causes textblock to use the font properties when drawing
underline.
2013-10-02 11:46:25 +01:00
Tom Hacohen bb84a01f7c Evas textblock: Moved relayout checks to a function.
This cleans up the code a bit and makes it a bit simpler.
2013-09-30 16:15:16 +01:00
Carsten Haitzler a4a285089f evas - improve textblock logic to reduce num of layouts when used - faster
when using genlist and the edje item objects, there seem to be a lot
of excess textblock layouts happening. i was seeing about 12 layouts per tb
part in the edje before this patch. with this it's down to about 3.
2013-09-30 23:31:48 +09:00
Stefan Schmidt 642e4293ff evas/textblock: Remove null statement. 2013-09-30 09:48:34 +01:00
Cedric BAIL 5d37215d26 evas: let's micro optimize the parsing of format.
Only the key is worth being a stringshare as it is used to do an efficient
binary comparison instead of iterating over all possibility. Also reused
some already known value and a few other speedup.
2013-09-29 13:43:46 +02:00
Tom Hacohen 682c69764d Revert "eo: libs,test,benchmarks Eo_Class -> Eo"
This reverts commit 1714fe93f4.

We actually want this type, it makes things clearer.

Conflicts:
	src/tests/eo/function_overrides/function_overrides_inherit2.c
	src/tests/eo/function_overrides/function_overrides_simple.c
	src/tests/eo/suite/eo_test_class_simple.c
2013-09-27 16:40:32 +01:00
Jérémy Zurcher 1714fe93f4 eo: libs,test,benchmarks Eo_Class -> Eo
Conflicts:
	src/tests/eo/suite/eo_test_general.c
2013-09-27 14:01:46 +01:00
Cedric Bail b37494503f evas: update to new eo_parent_get/set API. 2013-09-25 13:34:18 +09:00
Tom Hacohen 2ab088aeea Evas textblock: Fixed native size calculation. 2013-09-23 14:37:18 +01:00
Tom Hacohen 2173652b4d Evas textblock: Fix format based line size calculation.
Format based line size modifiers were not applied.
2013-09-23 14:37:18 +01:00
Tom Hacohen cbde2bef69 Evas textblock: Fixed max descent adjustment and a related bug.
The bug caused wrong line sizing in some situations (appending new
paragraphs to a textblock).
2013-09-23 14:37:18 +01:00
Tom Hacohen 72167b9cc3 Evas textblock: Fixed ascent/descent calculation a bit more.
Separated maxascent/descent from ascent/descent even further.
Fix calculation to be based on font instance and not the font group.
2013-09-23 14:37:18 +01:00
Tom Hacohen 5adffd54e5 Evas textblock: rename maxascent/descent->ascent/descent.
Although we kinda use them as max in some situations, they are actually
just the regular ascent and descent. Following commits will make this
separation even stronger.
2013-09-23 14:37:18 +01:00
Tom Hacohen 94e6f6a5bc Evas textblock: Fix wrong line spacing when appending lines.
This fixes T397 which was introduced by commit: 4bcf4991eb.
This also fixes the issues with enventor.
2013-09-20 13:52:48 +01:00
Tom Hacohen bda3ceb632 Evas textblock: fixed *_markup_get issue with escaped chars.
Markup_get was misbehaving and returning wrong results with some escaped
chars. markup_to_utf8 was working correctly. Merged the code together
and now both are consistent and correct.

Thanks to WooHyun for reporting.
2013-09-03 11:50:34 +01:00
Tom Hacohen 4bcf4991eb Evas textblock: Fixed calculation of maxdescent.
Thanks to YoungBok Shin for reporting.
2013-08-20 11:13:06 +01:00
Tom Hacohen 76eceda2ee Evas textblock: make an if look nicer (no logic change).
This makes things simpler and less confusing and might have prevented
the issue Stefan fixed in 4f484b81d4
from happenning in the first place.
2013-08-09 15:46:40 +01:00
Stefan Schmidt 4f484b81d4 evas/textblock: Do not write out of bounds.
The length is len so last array index must be len - 1. Better not
corrupt memory. :)

CID 1039302
2013-08-09 11:54:42 +01:00
Tom Hacohen 1d75dcaf56 Evas textblock: Make the ellipsis format the same as the surrounding.
This fix is based on a solution by WooHyun Jung.
2013-08-08 13:10:39 +01:00
Tom Hacohen 6583b83c73 Evas textblock: Use max ascent/descent at the edges of the textblock.
Thanks to Youngbok Shin for reporting the difference in behaviour between
textblock and text object.
2013-08-06 09:29:03 +01:00
Cedric Bail 9104fe7322 evas: let's not leak temporary list left over. 2013-08-01 19:39:58 +09:00
Yakov Goldberg ae561346e4 evas/textblock: fix my own boolean expression to be more obvious 2013-07-21 11:57:11 +03:00
Carsten Haitzler 76229f7a2f fix clang nonnull warning. 2013-07-16 16:47:35 +09:00
Cedric Bail 48b40640b5 evas: no need to call eo_data_scope_get in many case after this change.
Reduce CPU usage by 5% in some case (especially when the CPU is not the
limiting factor like with the GL backend).
2013-07-09 09:48:09 +09:00
Tom Hacohen 5d4ff97e20 Evas textblock: Fixed issue with *textblock_cursor_range_formats_get.
In some cases we could return extra formats that are outside of the
range. It's actually not completely fixed yet.

Thanks to clang-analyzer for detecting this.
2013-07-04 10:07:52 +01:00
Tom Hacohen 827885d794 Evas textblock: Fixed format parsing to not be confused by single-quotes.
Before this commit, having a single quote anywhere in the format would mess
up all of the format parsing.

Thanks to MinSu Seo for reporting.
2013-07-01 14:18:52 +01:00
Tom Hacohen fdbc477f79 Evas textblock: Fixed issue with textblocks without fonts segfaulting.
Fixes T184 (which is a regression).
2013-06-25 16:37:48 +01:00
Sebastian Dransfeld 51023d2d4f evas: Keep sane name for public header
Evas_Common.h should be used for the public header, and rather rename
evas_common.h internal header to another name.

Sa:
Evas_Common_Header.h -> Evas_Common.h
evas_common.h -> evas_common_private.h

Shouldn't have both Evas_Common.h and evas_common.h because of case
insensitive filesystems.
2013-06-20 12:53:29 +02:00
ChunEon Park 1f558c6cde evas/textblock - revert the textblock pre_render_done.
Fundamentally, this is not a point of the problem.

somewhere pre_render caller is inccorrect without releasing the flag.
2013-05-30 14:43:41 +09:00
ChunEon Park b7ff5a737f evas/textblock - fix the textblock to render pre again if it needs to be relayouting 2013-05-28 23:07:24 +09:00
ChunEon Park 7003b7fd0b evas/textblock - fix indent 2013-05-28 23:00:31 +09:00
Daniel Juyung Seo b2dd73e841 evas_object_textblock.c: fixed a typo in the documentation. 2013-05-21 19:21:47 +09:00
Tom Hacohen 97acb71175 Evas textblock: Removed double ;. 2013-05-16 10:38:56 +01:00
Carsten Haitzler f8c9a8d167 revert the revert... damn you git!
Revert "Revert "Efl: replace eo_data_get for objects data referencing.""

This reverts commit b64a2994b3.
2013-05-02 16:47:16 +09:00
Carsten Haitzler b64a2994b3 Revert "Efl: replace eo_data_get for objects data referencing."
This reverts commit 654a3f5f94.
2013-05-02 14:17:19 +09:00
Daniel Zaoui 654a3f5f94 Efl: replace eo_data_get for objects data referencing. 2013-05-01 10:37:08 +03:00
Tom Hacohen 455d8790b9 Evas textblock: Fixed line size calculation when using multiple fonts.
Thanks to MinSu Seo for reporting.
2013-04-25 15:16:20 +01:00
Tom Hacohen 3f3ad67616 Evas textblock: Fixed a bug with deletion of ranges.
Fixed a bug with deletion of ranges that end just before a visual format.
Thanks to WooHyun Jung for reporting.
2013-04-15 17:15:22 +01:00
Cedric Bail d1c502fe26 evas: remove warning, no need for double (). 2013-04-12 11:24:14 +09:00