Tom Hacohen
32fd296bde
Evas: Fixed harfbuzz dependency checking. Was broken with harfbuzz that is not compiled with freetype support and always printed 'no' regarding harfbuzz usage.
...
SVN revision: 56507
2011-01-30 10:42:01 +00:00
Tom Hacohen
f63e8256ff
Evas textblock: Fixed async rendering support.
...
SVN revision: 56506
2011-01-30 10:41:57 +00:00
Tom Hacohen
f0a2a3229d
Evas textblock: Fixed a seg and the documentation error that caused it.
...
SVN revision: 56505
2011-01-30 10:41:49 +00:00
Tom Hacohen
b46c83aeac
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...
SVN revision: 56504
2011-01-30 10:41:42 +00:00
Tom Hacohen
a2fc127e8c
Evas font-engine: Fixed a puny memory leak.
...
SVN revision: 56503
2011-01-30 10:41:35 +00:00
Tom Hacohen
f49c3bb8ad
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.
...
SVN revision: 56502
2011-01-30 10:41:29 +00:00
Tom Hacohen
1351fcc40c
Evas textblock: The only thing that should force a 'native recalc' is a change in the text.
...
SVN revision: 56501
2011-01-30 10:41:23 +00:00
Tom Hacohen
712ad03e21
Evas textblock: split layout line advance to advance and finalize instead of using the 'new line' flag.
...
SVN revision: 56500
2011-01-30 10:41:18 +00:00
Tom Hacohen
38215930ae
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.
...
SVN revision: 56499
2011-01-30 10:41:13 +00:00
Tom Hacohen
f8656202f2
Evas textblock: Fixed a major slowdown caused by a missing content_changed = 0.
...
SVN revision: 56498
2011-01-30 10:41:06 +00:00
Tom Hacohen
3d24e2daad
Evas textblock: Removed unused functions.
...
SVN revision: 56497
2011-01-30 10:40:59 +00:00
Tom Hacohen
367e75aa70
Evas textblock: Fix format usage in the visual layouting.
...
SVN revision: 56496
2011-01-30 10:40:53 +00:00
Tom Hacohen
169afc76be
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.
...
SVN revision: 56495
2011-01-30 10:40:47 +00:00
Tom Hacohen
e62074b786
Evas textblock: Fixed a bug in the last commit causing a seg when cleaning a tb.
...
SVN revision: 56494
2011-01-30 10:40:42 +00:00
Tom Hacohen
c56c293e96
Evas textblock: Split between content changes and other changes.
...
SVN revision: 56493
2011-01-30 10:40:36 +00:00
Tom Hacohen
d632d526c0
Split logical layouting and visual layouting completely. There are still some bugs, but this includes the major change.
...
SVN revision: 56492
2011-01-30 10:40:30 +00:00
Tom Hacohen
48c9b3781e
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.
SVN revision: 56491
2011-01-30 10:40:21 +00:00
Tom Hacohen
91456d3198
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.
...
SVN revision: 56490
2011-01-30 10:40:14 +00:00
Tom Hacohen
50ed367970
Evas textblock: Fixed line coords to be relative to the paragraphs coords and not standalone like they were.
...
SVN revision: 56489
2011-01-30 10:40:09 +00:00
Tom Hacohen
6f24144e55
Evas textblock: Update layout paragraph coordinates and use them to speed some parts up.
...
SVN revision: 56488
2011-01-30 10:40:04 +00:00
Tom Hacohen
adeabde88e
Evas textblock: Use layout paragraphs for faster item locating.
...
SVN revision: 56487
2011-01-30 10:39:58 +00:00
Tom Hacohen
a3698f39a4
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.
...
SVN revision: 56486
2011-01-30 10:39:52 +00:00
Tom Hacohen
908a6d16b0
Evas textblock: Started using the layout paragraphs. Still not using their coords or using them for optimizations.
...
SVN revision: 56485
2011-01-30 10:39:47 +00:00
Tom Hacohen
58af440aab
Evas font: skip over common script items when getting the font, we should get the font of the actual script items.
...
SVN revision: 56484
2011-01-30 10:39:42 +00:00
Tom Hacohen
f7a4cf52a8
Evas font: fixed calling of bidi_end_of_run_get and exposed a new function to get the script of a single char.
...
SVN revision: 56483
2011-01-30 10:39:35 +00:00
Tom Hacohen
7ce45d8bd4
Revert "Evas font-engine: Also split on script common." - After
...
reviewing the standard again, it's not really wanted.
This reverts commit 26cc8747fda51e95d340ef1a1838817fe495be23.
SVN revision: 56482
2011-01-30 10:39:29 +00:00
Tom Hacohen
b8635d16ea
Evas textblock: Started using advancement for wrapping.
...
SVN revision: 56481
2011-01-30 10:39:22 +00:00
Tom Hacohen
1285647c17
Evas text object: Hacked a fix to string size get which fixes elipsis and many other stuff.
...
SVN revision: 56480
2011-01-30 10:39:16 +00:00
Tom Hacohen
e927217279
Evas text: Fixed a bug with the issuing of script end of run get.
...
SVN revision: 56479
2011-01-30 10:39:09 +00:00
Tom Hacohen
3185db9667
Evas language utils: fixed evas_common_language_script_end_of_run_get and adjusted text and textblock object to use it.
...
SVN revision: 56478
2011-01-30 10:39:03 +00:00
Tom Hacohen
ec59409dea
Evas text: Fixed object_text last_up_to_pos.
...
SVN revision: 56477
2011-01-30 10:38:55 +00:00
Tom Hacohen
32f98dcb7b
Evas font-engine: Fixed a bug in evas_common_language_script_end_of_run_get
...
SVN revision: 56476
2011-01-30 10:38:50 +00:00
Tom Hacohen
400fba721e
Evas text: fixed an issue with last_up_to_pos and char_at_coords that caused them to return the wrong index.
...
SVN revision: 56475
2011-01-30 10:38:44 +00:00
Tom Hacohen
fa49914387
Evas textblock: Migrated part of add and split item to _layout_text_append to improve performance.
...
SVN revision: 56474
2011-01-30 10:38:39 +00:00
Tom Hacohen
0e0ba10a7d
Evas font-engine: fixed kerning in the default walker.
...
SVN revision: 56473
2011-01-30 10:38:33 +00:00
Tom Hacohen
421e1d8ae1
Evas font-engine: Also split on script common.
...
SVN revision: 56472
2011-01-30 10:38:28 +00:00
Tom Hacohen
f1d77279cd
Revert "Evas textblock: Shape a lot less when splitting to items because of script/bidi direction."
...
Was broken.
This reverts commit d2bc8fd8b516a640c3eb098071a80d751494024a.
SVN revision: 56471
2011-01-30 10:38:22 +00:00
Tom Hacohen
9f0ce7a272
Evas textblock + font engine: add an optimized way of doing a cut-off on the text props.
...
SVN revision: 56470
2011-01-30 10:38:15 +00:00
Tom Hacohen
0e44717373
Evas font-ot: moved typedef to a better location (doesn't change anything but ease of understanding).
...
SVN revision: 56469
2011-01-30 10:38:08 +00:00
Tom Hacohen
5125ddb692
Evas textblock: Shape a lot less when splitting to items because of script/bidi direction.
...
SVN revision: 56468
2011-01-30 10:38:02 +00:00
Tom Hacohen
aa830a11ca
Evas textblock: removed an un-needed shaping that speeds up things a bit.
...
SVN revision: 56467
2011-01-30 10:37:57 +00:00
Tom Hacohen
4ee6706770
Evas font-engine: cache harfbuzz's face.
...
SVN revision: 56466
2011-01-30 10:37:52 +00:00
Tom Hacohen
b53ded56ed
Evas font-engine: Fixed some issues with the git rebase I just did, should now compile correctly.
...
SVN revision: 56465
2011-01-30 10:37:46 +00:00
Tom Hacohen
48b3a796a5
Evas font-ot: Fixed mistakes that caused ilegal reads.
...
SVN revision: 56464
2011-01-30 10:37:40 +00:00
Tom Hacohen
63e25655e1
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.
...
SVN revision: 56463
2011-01-30 10:37:34 +00:00
Tom Hacohen
c09000741b
Evas font-engine: Add cluster support to the font-engine. Cursor handling is now correct for clusters as well.
...
SVN revision: 56462
2011-01-30 10:37:29 +00:00
Tom Hacohen
c012ee700c
Evas font-engine: Fixed pen/char query. In RTL first is actually the last.
...
SVN revision: 56461
2011-01-30 10:37:18 +00:00
Tom Hacohen
729a85e872
Evas font-engine: Fixed an issue with cluster handling that broke cursor position in some cases.
...
SVN revision: 56460
2011-01-30 10:37:12 +00:00
Tom Hacohen
34426d8c6e
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.
SVN revision: 56459
2011-01-30 10:37:05 +00:00
Tom Hacohen
3b88692aa7
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.
...
SVN revision: 56458
2011-01-30 10:36:59 +00:00