tasn [Sun, 30 Jan 2011 10:41:35 +0000 (10:41 +0000)]
Evas font-engine: Fixed a puny memory leak.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56503
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56502
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56501
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56500
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56499
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56498
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Sun, 30 Jan 2011 10:40:59 +0000 (10:40 +0000)]
Evas textblock: Removed unused functions.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56497
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Sun, 30 Jan 2011 10:40:53 +0000 (10:40 +0000)]
Evas textblock: Fix format usage in the visual layouting.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56496
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56495
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56494
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Sun, 30 Jan 2011 10:40:36 +0000 (10:40 +0000)]
Evas textblock: Split between content changes and other changes.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56493
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56492
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56491
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56490
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56489
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56488
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Sun, 30 Jan 2011 10:39:58 +0000 (10:39 +0000)]
Evas textblock: Use layout paragraphs for faster item locating.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56487
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56486
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56485
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56484
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56483
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56482
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Sun, 30 Jan 2011 10:39:22 +0000 (10:39 +0000)]
Evas textblock: Started using advancement for wrapping.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56481
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56480
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56479
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56478
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Sun, 30 Jan 2011 10:38:55 +0000 (10:38 +0000)]
Evas text: Fixed object_text last_up_to_pos.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56477
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56476
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56475
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56474
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Sun, 30 Jan 2011 10:38:33 +0000 (10:38 +0000)]
Evas font-engine: fixed kerning in the default walker.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56473
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Sun, 30 Jan 2011 10:38:28 +0000 (10:38 +0000)]
Evas font-engine: Also split on script common.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56472
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56471
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56470
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56469
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56468
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56467
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Sun, 30 Jan 2011 10:37:52 +0000 (10:37 +0000)]
Evas font-engine: cache harfbuzz's face.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56466
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56465
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Sun, 30 Jan 2011 10:37:40 +0000 (10:37 +0000)]
Evas font-ot: Fixed mistakes that caused ilegal reads.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56464
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56463
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56462
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56461
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56460
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56459
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56458
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56457
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Sun, 30 Jan 2011 10:36:47 +0000 (10:36 +0000)]
Evas text: Use the already calculated len.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56456
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56455
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56454
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Sun, 30 Jan 2011 10:36:20 +0000 (10:36 +0000)]
Evas text: Fixed typo in horiz advance function.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56453
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Sun, 30 Jan 2011 10:36:14 +0000 (10:36 +0000)]
Evas font: Added HARFBUZZ's cflags.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56452
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56451
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56450
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Sun, 30 Jan 2011 10:35:56 +0000 (10:35 +0000)]
Evas textblock: Fixed an issue with range_geometry_get.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56449
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Sun, 30 Jan 2011 10:35:50 +0000 (10:35 +0000)]
Evas textblock: Fixed a small invalid read.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56448
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56447
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56446
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56445
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56444
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56443
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Sun, 30 Jan 2011 10:35:10 +0000 (10:35 +0000)]
Evas font-engine: suppress warnings when BiDi is disabled.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56442
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56441
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56440
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56439
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56438
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56437
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56436
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56435
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56434
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Sun, 30 Jan 2011 10:34:13 +0000 (10:34 +0000)]
Evas textblock: Added evas_textblock_cursor_pen_geometry_get.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56433
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56432
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56431
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56430
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Sun, 30 Jan 2011 10:33:43 +0000 (10:33 +0000)]
Evas font-engine: handle invisible chars in font query.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56429
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56428
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Sun, 30 Jan 2011 10:33:32 +0000 (10:33 +0000)]
Evas font engine: Fixed query_size and query advance.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56427
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56426
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56425
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56424
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Sun, 30 Jan 2011 10:33:06 +0000 (10:33 +0000)]
Evas textblock: Fixed geometry get for formats as well.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56423
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56422
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56421
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56420
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56419
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56418
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56417
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Sun, 30 Jan 2011 10:32:27 +0000 (10:32 +0000)]
Evas textblock: Fixed range geometry get in some cases involving rtl.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56416
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Sun, 30 Jan 2011 10:32:15 +0000 (10:32 +0000)]
Evas textblock: Made selection rtl friendly. There are still minor issues with rectangle positioning (1px off sometimes) but this is better than before.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56415
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Sun, 30 Jan 2011 10:32:09 +0000 (10:32 +0000)]
Evas textblock: Fixed evas_textblock_cursor_geometry_get with the cursor type: EVAS_TEXTBLOCK_CURSOR_BEFORE.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56414
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Sun, 30 Jan 2011 10:32:03 +0000 (10:32 +0000)]
Evas textblock: Merged drawing backgrounds, strikethroughs and underlines into one shared format.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56413
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Sun, 30 Jan 2011 10:31:58 +0000 (10:31 +0000)]
Evas textblock: Since we now track text pos for format items as well as text items, we can (and did) merge _find_layout_item_line_match and _find_layout_format_item_line_match and obsolete the latter.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56412
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Sun, 30 Jan 2011 10:31:51 +0000 (10:31 +0000)]
Evas textblock: Shape per string and not per item. I.e shaping across wrapping will also work now.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56411
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Sun, 30 Jan 2011 10:31:45 +0000 (10:31 +0000)]
Evas textblock: Added a segfault fix in case (shouldn't happen) it isn't found.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56410
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Sun, 30 Jan 2011 10:31:40 +0000 (10:31 +0000)]
Evas textblock: Adjusted some local macros a bit so they'll enforce our wanted usage of ';'.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56409
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Sun, 30 Jan 2011 10:31:33 +0000 (10:31 +0000)]
Evas textblock: Adjusted text drawing a bit, a fix to the previous commit.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56408
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Sun, 30 Jan 2011 10:31:28 +0000 (10:31 +0000)]
Evas textblock: Fixed text drawing (with all of it's features, including background, underlines and etc.). Also simplified it a bit.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56407
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Sun, 30 Jan 2011 10:31:22 +0000 (10:31 +0000)]
Evas textblock: created _find_layout_item_match that finds the wanted item and line for both texts and formats and with some special case handling.
Essentially combined code that was just copied around.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56406
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Sun, 30 Jan 2011 10:31:16 +0000 (10:31 +0000)]
Evas textblock: format items and text items are now in the same list and share a lot of info.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56405
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Sun, 30 Jan 2011 10:31:08 +0000 (10:31 +0000)]
Evas textblock: Fixed mixed format and text item reordering.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56404
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33