profile/ivi/evas.git
13 years agoEvas font-engine: Exposed PEN_Y in the walker functions and started using it instead...
tasn [Sun, 30 Jan 2011 10:43:03 +0000 (10:43 +0000)]
Evas font-engine: Exposed PEN_Y in the walker functions and started using it instead of the hackish _pen_y.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56516 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: Fixed a segfault with regular formats (ones without size explicitly...
tasn [Sun, 30 Jan 2011 10:42:56 +0000 (10:42 +0000)]
Evas textblock: Fixed a segfault with regular formats (ones without size explicitly set).

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56515 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: Moved item (of type SIZE) size calculation to actual line finalizing...
tasn [Sun, 30 Jan 2011 10:42:48 +0000 (10:42 +0000)]
Evas textblock: Moved item (of type SIZE) size calculation to actual line finalizing because it depends on the object scale and where it was before will break when scale changes.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56514 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: Fixed bug with relative sized items not showing.
tasn [Sun, 30 Jan 2011 10:42:41 +0000 (10:42 +0000)]
Evas textblock: Fixed bug with relative sized items not showing.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56513 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: Fixed cursor when the cursor is in the end.
tasn [Sun, 30 Jan 2011 10:42:35 +0000 (10:42 +0000)]
Evas textblock: Fixed cursor when the cursor is in the end.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56512 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas bidi: remove the bidi reverse string, it's old and not needed.
tasn [Sun, 30 Jan 2011 10:42:28 +0000 (10:42 +0000)]
Evas bidi: remove the bidi reverse string, it's old and not needed.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56511 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas font-engine: simplify 26_6 round to int.
tasn [Sun, 30 Jan 2011 10:42:20 +0000 (10:42 +0000)]
Evas font-engine: simplify 26_6 round to int.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56510 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas font-engine: pen_x is now calculated with fractional pixels (inside each item...
tasn [Sun, 30 Jan 2011 10:42:13 +0000 (10:42 +0000)]
Evas font-engine: pen_x is now calculated with fractional pixels (inside each item, not the case with cross-items which still use integral pixels).

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56509 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas font-engine: Round the fractional coords (instead of floor).
tasn [Sun, 30 Jan 2011 10:42:07 +0000 (10:42 +0000)]
Evas font-engine: Round the fractional coords (instead of floor).

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56508 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas: Fixed harfbuzz dependency checking. Was broken with harfbuzz that is not compil...
tasn [Sun, 30 Jan 2011 10:42:01 +0000 (10:42 +0000)]
Evas: Fixed harfbuzz dependency checking. Was broken with harfbuzz that is not compiled with freetype support and always printed 'no' regarding harfbuzz usage.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56507 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: Fixed async rendering support.
tasn [Sun, 30 Jan 2011 10:41:57 +0000 (10:41 +0000)]
Evas textblock: Fixed async rendering support.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56506 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: Fixed a seg and the documentation error that caused it.
tasn [Sun, 30 Jan 2011 10:41:49 +0000 (10:41 +0000)]
Evas textblock: Fixed a seg and the documentation error that caused it.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56505 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: split the visual layouting to two stages:
tasn [Sun, 30 Jan 2011 10:41:42 +0000 (10:41 +0000)]
Evas textblock: split the visual layouting to two stages:
1. Split to logical layout units.
2. Order the logical layout units in a visual way.
This lets us cache the results of the first part (unless the text changes), which makes everything a lot faster in the OT case, and quite faster in the regular case.
There are still some issues unresolved in this commit that will be resolved in future commits:
1. No support for async rendering - yes, I forgot I'm supposed to support that.
2. native_size should probably be calculated in another way because the current one is slow and if we already have the logical items it should be a piece of cake...

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56504 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas font-engine: Fixed a puny memory leak.
tasn [Sun, 30 Jan 2011 10:41:35 +0000 (10:41 +0000)]
Evas font-engine: Fixed a puny memory leak.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56503 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoUsed evas_textblock_text_node_changed instead of evas_textblock_changed when needed...
tasn [Sun, 30 Jan 2011 10:41:29 +0000 (10:41 +0000)]
Used evas_textblock_text_node_changed instead of evas_textblock_changed when needed and removed the latter completely because it wasn't needed/used anymore.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56502 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: The only thing that should force a 'native recalc' is a change in...
tasn [Sun, 30 Jan 2011 10:41:23 +0000 (10:41 +0000)]
Evas textblock: The only thing that should force a 'native recalc' is a change in the text.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56501 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: split layout line advance to advance and finalize instead of using...
tasn [Sun, 30 Jan 2011 10:41:18 +0000 (10:41 +0000)]
Evas textblock: split layout line advance to advance and finalize instead of using the 'new line' flag.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56500 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: Added a couple of comments and mark that we already handlede content...
tasn [Sun, 30 Jan 2011 10:41:13 +0000 (10:41 +0000)]
Evas textblock: Added a couple of comments and mark that we already handlede content change after we calc native size, that's because logical layout remains the same.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56499 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: Fixed a major slowdown caused by a missing content_changed = 0.
tasn [Sun, 30 Jan 2011 10:41:06 +0000 (10:41 +0000)]
Evas textblock: Fixed a major slowdown caused by a missing content_changed = 0.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56498 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: Removed unused functions.
tasn [Sun, 30 Jan 2011 10:40:59 +0000 (10:40 +0000)]
Evas textblock: Removed unused functions.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56497 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: Fix format usage in the visual layouting.
tasn [Sun, 30 Jan 2011 10:40:53 +0000 (10:40 +0000)]
Evas textblock: Fix format usage in the visual layouting.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56496 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: format is now a property of both text items and format items meaning...
tasn [Sun, 30 Jan 2011 10:40:47 +0000 (10:40 +0000)]
Evas textblock: format is now a property of both text items and format items meaning that formats can finally have their own properties, e.g tabs can have distinct background colors and etc.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56495 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: Fixed a bug in the last commit causing a seg when cleaning a tb.
tasn [Sun, 30 Jan 2011 10:40:42 +0000 (10:40 +0000)]
Evas textblock: Fixed a bug in the last commit causing a seg when cleaning a tb.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56494 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: Split between content changes and other changes.
tasn [Sun, 30 Jan 2011 10:40:36 +0000 (10:40 +0000)]
Evas textblock: Split between content changes and other changes.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56493 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoSplit logical layouting and visual layouting completely. There are still some bugs...
tasn [Sun, 30 Jan 2011 10:40:30 +0000 (10:40 +0000)]
Split logical layouting and visual layouting completely. There are still some bugs, but this includes the major change.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56492 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas font-engine: A couple of major fixes:
tasn [Sun, 30 Jan 2011 10:40:21 +0000 (10:40 +0000)]
Evas font-engine: A couple of major fixes:
1. Worked around a fribid behavior that broke some stuff - we should handle it better in the future, this workaround is only temporary.
2. Fixed a bug with textblock's last_up_to_pos.
3. Fixed a bug with ot_shaping not reloading the font and activating the size in the wrong place.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56491 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: Started splitting the layouting to two stages, logical item creating...
tasn [Sun, 30 Jan 2011 10:40:14 +0000 (10:40 +0000)]
Evas textblock: Started splitting the layouting to two stages, logical item creating and visual ordering of the items. This will let us to cache the logical items and just relayout the visual items when needed thus making everything a lot faster.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56490 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: Fixed line coords to be relative to the paragraphs coords and not...
tasn [Sun, 30 Jan 2011 10:40:09 +0000 (10:40 +0000)]
Evas textblock: Fixed line coords to be relative to the paragraphs coords and not standalone like they were.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56489 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: Update layout paragraph coordinates and use them to speed some parts up.
tasn [Sun, 30 Jan 2011 10:40:04 +0000 (10:40 +0000)]
Evas textblock: Update layout paragraph coordinates and use them to speed some parts up.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56488 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: Use layout paragraphs for faster item locating.
tasn [Sun, 30 Jan 2011 10:39:58 +0000 (10:39 +0000)]
Evas textblock: Use layout paragraphs for faster item locating.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56487 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: started using the paragraph layout items a bit more so it's a bit...
tasn [Sun, 30 Jan 2011 10:39:52 +0000 (10:39 +0000)]
Evas textblock: started using the paragraph layout items a bit more so it's a bit faster now. Fixed a bug in calculating the line number. Paragraph layout items now point to the original paragraphs.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56486 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: Started using the layout paragraphs. Still not using their coords...
tasn [Sun, 30 Jan 2011 10:39:47 +0000 (10:39 +0000)]
Evas textblock: Started using the layout paragraphs. Still not using their coords or using them for optimizations.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56485 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas font: skip over common script items when getting the font, we should get the...
tasn [Sun, 30 Jan 2011 10:39:42 +0000 (10:39 +0000)]
Evas font: skip over common script items when getting the font, we should get the font of the actual script items.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56484 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas font: fixed calling of bidi_end_of_run_get and exposed a new function to get...
tasn [Sun, 30 Jan 2011 10:39:35 +0000 (10:39 +0000)]
Evas font: fixed calling of bidi_end_of_run_get and exposed a new function to get the script of a single char.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56483 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoRevert "Evas font-engine: Also split on script common." - After
tasn [Sun, 30 Jan 2011 10:39:29 +0000 (10:39 +0000)]
Revert "Evas font-engine: Also split on script common." - After
reviewing the standard again, it's not really wanted.

This reverts commit 26cc8747fda51e95d340ef1a1838817fe495be23.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56482 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: Started using advancement for wrapping.
tasn [Sun, 30 Jan 2011 10:39:22 +0000 (10:39 +0000)]
Evas textblock: Started using advancement for wrapping.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56481 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas text object: Hacked a fix to string size get which fixes elipsis and many other...
tasn [Sun, 30 Jan 2011 10:39:16 +0000 (10:39 +0000)]
Evas text object: Hacked a fix to string size get which fixes elipsis and many other stuff.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56480 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas text: Fixed a bug with the issuing of script end of run get.
tasn [Sun, 30 Jan 2011 10:39:09 +0000 (10:39 +0000)]
Evas text: Fixed a bug with the issuing of script end of run get.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56479 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas language utils: fixed evas_common_language_script_end_of_run_get and adjusted...
tasn [Sun, 30 Jan 2011 10:39:03 +0000 (10:39 +0000)]
Evas language utils: fixed evas_common_language_script_end_of_run_get and adjusted text and textblock object to use it.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56478 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas text: Fixed object_text last_up_to_pos.
tasn [Sun, 30 Jan 2011 10:38:55 +0000 (10:38 +0000)]
Evas text: Fixed object_text last_up_to_pos.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56477 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas font-engine: Fixed a bug in evas_common_language_script_end_of_run_get
tasn [Sun, 30 Jan 2011 10:38:50 +0000 (10:38 +0000)]
Evas font-engine: Fixed a bug in evas_common_language_script_end_of_run_get

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56476 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas text: fixed an issue with last_up_to_pos and char_at_coords that caused them...
tasn [Sun, 30 Jan 2011 10:38:44 +0000 (10:38 +0000)]
Evas text: fixed an issue with last_up_to_pos and char_at_coords that caused them to return the wrong index.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56475 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: Migrated part of add and split item to _layout_text_append to improve...
tasn [Sun, 30 Jan 2011 10:38:39 +0000 (10:38 +0000)]
Evas textblock: Migrated part of add and split item to _layout_text_append to improve performance.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56474 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas font-engine: fixed kerning in the default walker.
tasn [Sun, 30 Jan 2011 10:38:33 +0000 (10:38 +0000)]
Evas font-engine: fixed kerning in the default walker.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56473 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas font-engine: Also split on script common.
tasn [Sun, 30 Jan 2011 10:38:28 +0000 (10:38 +0000)]
Evas font-engine: Also split on script common.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56472 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoRevert "Evas textblock: Shape a lot less when splitting to items because of script...
tasn [Sun, 30 Jan 2011 10:38:22 +0000 (10:38 +0000)]
Revert "Evas textblock: Shape a lot less when splitting to items because of script/bidi direction."
Was broken.

This reverts commit d2bc8fd8b516a640c3eb098071a80d751494024a.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56471 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock + font engine: add an optimized way of doing a cut-off on the text...
tasn [Sun, 30 Jan 2011 10:38:15 +0000 (10:38 +0000)]
Evas textblock + font engine: add an optimized way of doing a cut-off on the text props.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56470 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas font-ot: moved typedef to a better location (doesn't change anything but ease...
tasn [Sun, 30 Jan 2011 10:38:08 +0000 (10:38 +0000)]
Evas font-ot: moved typedef to a better location (doesn't change anything but ease of understanding).

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56469 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: Shape a lot less when splitting to items because of script/bidi direc...
tasn [Sun, 30 Jan 2011 10:38:02 +0000 (10:38 +0000)]
Evas textblock: Shape a lot less when splitting to items because of script/bidi direction.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56468 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: removed an un-needed shaping that speeds up things a bit.
tasn [Sun, 30 Jan 2011 10:37:57 +0000 (10:37 +0000)]
Evas textblock: removed an un-needed shaping that speeds up things a bit.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56467 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas font-engine: cache harfbuzz's face.
tasn [Sun, 30 Jan 2011 10:37:52 +0000 (10:37 +0000)]
Evas font-engine: cache harfbuzz's face.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56466 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas font-engine: Fixed some issues with the git rebase I just did, should now compil...
tasn [Sun, 30 Jan 2011 10:37:46 +0000 (10:37 +0000)]
Evas font-engine: Fixed some issues with the git rebase I just did, should now compile correctly.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56465 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas font-ot: Fixed mistakes that caused ilegal reads.
tasn [Sun, 30 Jan 2011 10:37:40 +0000 (10:37 +0000)]
Evas font-ot: Fixed mistakes that caused ilegal reads.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56464 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas font-ot: renamed internal source_pos to source_cluster and added the forgotten...
tasn [Sun, 30 Jan 2011 10:37:34 +0000 (10:37 +0000)]
Evas font-ot: renamed internal source_pos to source_cluster and added the forgotten evas_common_font_ot_cluster_size_get to the .h file.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56463 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas font-engine: Add cluster support to the font-engine. Cursor handling is now...
tasn [Sun, 30 Jan 2011 10:37:29 +0000 (10:37 +0000)]
Evas font-engine: Add cluster support to the font-engine. Cursor handling is now correct for clusters as well.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56462 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas font-engine: Fixed pen/char query. In RTL first is actually the last.
tasn [Sun, 30 Jan 2011 10:37:18 +0000 (10:37 +0000)]
Evas font-engine: Fixed pen/char query. In RTL first is actually the last.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56461 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas font-engine: Fixed an issue with cluster handling that broke cursor position...
tasn [Sun, 30 Jan 2011 10:37:12 +0000 (10:37 +0000)]
Evas font-engine: Fixed an issue with cluster handling that broke cursor position in some cases.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56460 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas font engine: Fixed a couple of issues:
tasn [Sun, 30 Jan 2011 10:37:05 +0000 (10:37 +0000)]
Evas font engine: Fixed a couple of issues:
1. Fixed double-kerning with the DEFAULT walker.
2. Removed unused var with the OT walker.
3. Fixed a bit of the documentation in the walkers.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56459 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas font-engine: Fixed invisible character handling in the OT walker. Renamed intern...
tasn [Sun, 30 Jan 2011 10:36:59 +0000 (10:36 +0000)]
Evas font-engine: Fixed invisible character handling in the OT walker. Renamed internal var gl in the default walker to _gl, a less common var name.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56458 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas font-engine: Fixed an issue with cursor position with RTL text when OT is off.
tasn [Sun, 30 Jan 2011 10:36:53 +0000 (10:36 +0000)]
Evas font-engine: Fixed an issue with cursor position with RTL text when OT is off.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56457 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas text: Use the already calculated len.
tasn [Sun, 30 Jan 2011 10:36:47 +0000 (10:36 +0000)]
Evas text: Use the already calculated len.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56456 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas: Multiple changes that all relate to the Harfbuzz integration:
tasn [Sun, 30 Jan 2011 10:36:39 +0000 (10:36 +0000)]
Evas: Multiple changes that all relate to the Harfbuzz integration:
1. Started feeding Evas_Text_Props to the font engine instead of Evas_BiDi_Props because no we have more general text properties as well - i.e, OpenType stuff.
2. Full Harfbuzz integration which gets compiled in by default (if harfbuzz is present) but only works if the environment variable EVAS_USE_OT is set to 1 (because OT is way slower than regular text rendering).
3. Cleaned the font querying/drawing functions.
4. Added font_shaped function to all of the engines, which by default calls teh harfbuzz stuff (default on linux that is).
5. Moved some source files around a bit to make more sense.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56455 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas: fine tuned the harfbuzz checks to make sure harfbuzz was compiled with freetype...
tasn [Sun, 30 Jan 2011 10:36:24 +0000 (10:36 +0000)]
Evas: fine tuned the harfbuzz checks to make sure harfbuzz was compiled with freetype support and just check if it also compiled with glib support. ATM there's no good lib for checking unicode characteristics so until there is one, we optionally use harfbuzz's glib integration - such lib is planned by the guy who wrote Harfbuzz.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56454 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas text: Fixed typo in horiz advance function.
tasn [Sun, 30 Jan 2011 10:36:20 +0000 (10:36 +0000)]
Evas text: Fixed typo in horiz advance function.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56453 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas font: Added HARFBUZZ's cflags.
tasn [Sun, 30 Jan 2011 10:36:14 +0000 (10:36 +0000)]
Evas font: Added HARFBUZZ's cflags.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56452 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: Start cutting to sections if bidi is not enabled.
tasn [Sun, 30 Jan 2011 10:36:08 +0000 (10:36 +0000)]
Evas textblock: Start cutting to sections if bidi is not enabled.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56451 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas text: Wrote item layouting and splitting of items to script runs, this is essent...
tasn [Sun, 30 Jan 2011 10:36:02 +0000 (10:36 +0000)]
Evas text: Wrote item layouting and splitting of items to script runs, this is essential for correct shaping/bidi handling.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56450 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: Fixed an issue with range_geometry_get.
tasn [Sun, 30 Jan 2011 10:35:56 +0000 (10:35 +0000)]
Evas textblock: Fixed an issue with range_geometry_get.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56449 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: Fixed a small invalid read.
tasn [Sun, 30 Jan 2011 10:35:50 +0000 (10:35 +0000)]
Evas textblock: Fixed a small invalid read.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56448 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: Fixed misuse of evas_bidi_is_rtl_char.
tasn [Sun, 30 Jan 2011 10:35:44 +0000 (10:35 +0000)]
Evas textblock: Fixed misuse of evas_bidi_is_rtl_char.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56447 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas font-engine: Moved bidi utils (and added script utils) to a subdir language...
tasn [Sun, 30 Jan 2011 10:35:37 +0000 (10:35 +0000)]
Evas font-engine: Moved bidi utils (and added script utils) to a subdir language that collects all the language specific adjustments to font handling.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56446 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: It's ok to have an empty item when there are no nodes. - Fixed a...
tasn [Sun, 30 Jan 2011 10:35:30 +0000 (10:35 +0000)]
Evas textblock: It's ok to have an empty item when there are no nodes. - Fixed a seg.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56445 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas font-engine: Fixed kerning handling and fixed a bug in query_char_coords and...
tasn [Sun, 30 Jan 2011 10:35:24 +0000 (10:35 +0000)]
Evas font-engine: Fixed kerning handling and fixed a bug in query_char_coords and in query_pen_coords taking the wrong string into account.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56444 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas bidi + font-engine + everything affected: Changed Evas_BiDi_Props to only includ...
tasn [Sun, 30 Jan 2011 10:35:17 +0000 (10:35 +0000)]
Evas bidi + font-engine + everything affected: Changed Evas_BiDi_Props to only include the direction of the text and reverse when needed. We don't need to do full processing at this stage, because we should have split to bidi runs before.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56443 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas font-engine: suppress warnings when BiDi is disabled.
tasn [Sun, 30 Jan 2011 10:35:10 +0000 (10:35 +0000)]
Evas font-engine: suppress warnings when BiDi is disabled.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56442 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas bidi: Fixed the BiDi functions to accept paragraph props and not bidi props.
tasn [Sun, 30 Jan 2011 10:35:04 +0000 (10:35 +0000)]
Evas bidi: Fixed the BiDi functions to accept paragraph props and not bidi props.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56441 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas: Added harfbuzz detection (it's optional, just like fribidi).
tasn [Sun, 30 Jan 2011 10:34:56 +0000 (10:34 +0000)]
Evas: Added harfbuzz detection (it's optional, just like fribidi).

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56440 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas font-engine: Fixed an issue with last_up_to_pos failing sometimes when it shouldn't.
tasn [Sun, 30 Jan 2011 10:34:49 +0000 (10:34 +0000)]
Evas font-engine: Fixed an issue with last_up_to_pos failing sometimes when it shouldn't.
Fixed a documentation error.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56439 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas font-engine: remove an usued variable in the font drawing functions.
tasn [Sun, 30 Jan 2011 10:34:42 +0000 (10:34 +0000)]
Evas font-engine: remove an usued variable in the font drawing functions.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56438 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas font-engine: Change EVAS_FONT_WALK_TEXT_* functions to advance pen_x at the...
tasn [Sun, 30 Jan 2011 10:34:36 +0000 (10:34 +0000)]
Evas font-engine: Change EVAS_FONT_WALK_TEXT_* functions to advance pen_x at the end of the loop (so a break won't advance it, but a clean finish will) and removed the checking if a diacritic using and advancement hack (that only worked only with specific fonts anyway) so we'll be able to start working with Harfbuzz.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56437 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: Fixed docs and naming of vars in the function header.
tasn [Sun, 30 Jan 2011 10:34:29 +0000 (10:34 +0000)]
Evas textblock: Fixed docs and naming of vars in the function header.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56436 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: Fixed usage of width instead of advance which caused issues in some...
tasn [Sun, 30 Jan 2011 10:34:23 +0000 (10:34 +0000)]
Evas textblock: Fixed usage of width instead of advance which caused issues in some cases.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56435 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: Use pen position for cursors, selections and etc as this is exactly...
tasn [Sun, 30 Jan 2011 10:34:18 +0000 (10:34 +0000)]
Evas textblock: Use pen position for cursors, selections and etc as this is exactly what pen is for.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56434 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: Added evas_textblock_cursor_pen_geometry_get.
tasn [Sun, 30 Jan 2011 10:34:13 +0000 (10:34 +0000)]
Evas textblock: Added evas_textblock_cursor_pen_geometry_get.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56433 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas font engine: Added evas_common_font_query_pen_coords.
tasn [Sun, 30 Jan 2011 10:34:07 +0000 (10:34 +0000)]
Evas font engine: Added evas_common_font_query_pen_coords.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56432 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas font engine: The position of the NULL returned from coords should depend on...
tasn [Sun, 30 Jan 2011 10:33:57 +0000 (10:33 +0000)]
Evas font engine: The position of the NULL returned from coords should depend on query_advance, not query_size.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56431 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: Advancement within a line should be according to advance size, and...
tasn [Sun, 30 Jan 2011 10:33:50 +0000 (10:33 +0000)]
Evas textblock: Advancement within a line should be according to advance size, and not width.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56430 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas font-engine: handle invisible chars in font query.
tasn [Sun, 30 Jan 2011 10:33:43 +0000 (10:33 +0000)]
Evas font-engine: handle invisible chars in font query.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56429 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: Removed the adjusting according to inset from textblock as it happens...
tasn [Sun, 30 Jan 2011 10:33:37 +0000 (10:33 +0000)]
Evas textblock: Removed the adjusting according to inset from textblock as it happens in font_draw/query.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56428 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas font engine: Fixed query_size and query advance.
tasn [Sun, 30 Jan 2011 10:33:32 +0000 (10:33 +0000)]
Evas font engine: Fixed query_size and query advance.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56427 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas font engine: Merge text walking to a couple of macros, this is more consistent...
tasn [Sun, 30 Jan 2011 10:33:24 +0000 (10:33 +0000)]
Evas font engine: Merge text walking to a couple of macros, this is more consistent, and the code is smaller and easier to handle.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56426 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: Added advancement to items. This simplifies the code, fixes issues...
tasn [Sun, 30 Jan 2011 10:33:19 +0000 (10:33 +0000)]
Evas textblock: Added advancement to items. This simplifies the code, fixes issues in selection and may be useful in the future with format items with different advancement and width.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56425 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas font engine: Added skipping of invisible chars to the font drawing function...
tasn [Sun, 30 Jan 2011 10:33:14 +0000 (10:33 +0000)]
Evas font engine: Added skipping of invisible chars to the font drawing function - this means we can't draw them until we add a specil "draw inivisble" mode.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56424 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: Fixed geometry get for formats as well.
tasn [Sun, 30 Jan 2011 10:33:06 +0000 (10:33 +0000)]
Evas textblock: Fixed geometry get for formats as well.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56423 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: Added bidi properties to the shared info between format and text...
tasn [Sun, 30 Jan 2011 10:33:01 +0000 (10:33 +0000)]
Evas textblock: Added bidi properties to the shared info between format and text items because both are bidi-relevant.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56422 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: Fixed a typo and explanation in a comment.
tasn [Sun, 30 Jan 2011 10:32:55 +0000 (10:32 +0000)]
Evas textblock: Fixed a typo and explanation in a comment.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56421 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: Fixed a couple of cases where a geometry of a visible format item...
tasn [Sun, 30 Jan 2011 10:32:50 +0000 (10:32 +0000)]
Evas textblock: Fixed a couple of cases where a geometry of a visible format item would have been returned although it shouldn't have.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56420 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock and font engine: Fixed cursor position to be at the end of the current...
tasn [Sun, 30 Jan 2011 10:32:45 +0000 (10:32 +0000)]
Evas textblock and font engine: Fixed cursor position to be at the end of the current item, and not the end of the line, this looks nicer in bidi strings.
Fixed querying char coords to return the current position of the NULL according to the text's alignment, not the paragraph's.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56419 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: Fixed selection drawing with multiline mixed ltr/rtl.
tasn [Sun, 30 Jan 2011 10:32:39 +0000 (10:32 +0000)]
Evas textblock: Fixed selection drawing with multiline mixed ltr/rtl.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56418 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

13 years agoEvas textblock: Fixed a couple of issues with range_geometry_get (a seg if the textbl...
tasn [Sun, 30 Jan 2011 10:32:33 +0000 (10:32 +0000)]
Evas textblock: Fixed a couple of issues with range_geometry_get (a seg if the textblock is empty and drawing glitches).

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@56417 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33