Tom Hacohen
94b5a536f0
Evas font/textblock/text: Started using string objects instead of
...
strings in most of the font engine (everywhere except draw).
Haven't removed the paramteres yet, but did mark them as UNUSED.
Removing them will be part of a future change.
Removed run-time OT toggling support, OT is now fast, no need for that.
Renamed all of the intl_props->text_props (because it really changed purpose now)
Fixed spliting/merging of text_props to be fast and good, not hacky and
complex like before.
Note to reviewers: Most of the changes are indentation related, sorry
for the mess, but I had to do it all in one commit, splitting was not
trivial (at least not in retrospect). The important parts are
evas_font_default_walk.x and text_utils.c. query and draw were just
adjusted a bit and the rest were only adjusted to conform to renaming or
were renaming on their own.
SVN revision: 56629
2011-02-01 12:17:52 +00:00
Tom Hacohen
22b440ff2a
Evas textblock: Fixed a couple of invalid reads in split and remove
...
whites
SVN revision: 56628
2011-02-01 12:17:38 +00:00
Tom Hacohen
517756c0cc
Evas textblock: Fixed paragraph line number. It got corrupted in some cases.
...
SVN revision: 56609
2011-01-31 14:43:48 +00:00
Tom Hacohen
3999767698
Evas textblock: Eliminate the use of cutoff, we don't really want/need that.
...
SVN revision: 56545
2011-01-30 10:46:02 +00:00
Tom Hacohen
f247b0d480
Evas textblock: Did a bit of code clean-up.
...
SVN revision: 56543
2011-01-30 10:45:51 +00:00
Tom Hacohen
5a5ebae319
Evas textblock: Added ellipsis support (actually only for the 1.0 case) to textblock.
...
SVN revision: 56542
2011-01-30 10:45:45 +00:00
Tom Hacohen
604f4d5549
Evas textblock: Fixed a memory leak and comment.
...
SVN revision: 56541
2011-01-30 10:45:40 +00:00
Tom Hacohen
00a48c01ea
Evas textblock: Updated a comment.
...
SVN revision: 56540
2011-01-30 10:45:34 +00:00
Tom Hacohen
620c9f1cb7
Evas textblock: Fixed issue with charwrap causing an infinite loop.
...
SVN revision: 56539
2011-01-30 10:45:28 +00:00
Tom Hacohen
df727d6772
Revert "Evas textblock: Use the last item's width, not advance, when calculating line's width and wrapping."
...
There were issues introduced with this commit, should fix it in the
future.
This reverts commit 53cf2da5684871c77b7efc6406de98d5fb681914.
SVN revision: 56536
2011-01-30 10:45:11 +00:00
Tom Hacohen
ed75dc7082
Evas textblock: Fixed paragraph width to also take in-paragraph line indentation into account.
...
SVN revision: 56535
2011-01-30 10:45:06 +00:00
Tom Hacohen
0cdb64e00e
Evas textblock: Fixed cursor position in BEFORE mode. Fixed a reference to a memory location (on the stack) we don't own anymore.
...
SVN revision: 56533
2011-01-30 10:44:55 +00:00
Tom Hacohen
2f8968f4f8
Evas textblock: Fixed cursor position with a cleared textblock.
...
SVN revision: 56532
2011-01-30 10:44:48 +00:00
Tom Hacohen
e4bcb7f90f
Evas textblock: Use the last item's width, not advance, when calculating line's width and wrapping.
...
SVN revision: 56531
2011-01-30 10:44:42 +00:00
Tom Hacohen
8871470af7
Evas textblock: Fixed a typo in the wordwrap code.
...
SVN revision: 56526
2011-01-30 10:44:11 +00:00
Tom Hacohen
ae1325aec0
Evas textblock: Added wrap=mixed to the style options.
...
SVN revision: 56525
2011-01-30 10:44:03 +00:00
Tom Hacohen
6b8aa0e419
Evas textblock: Fixed a bug with wordwrapping causing an infinite loop in some cases.
...
SVN revision: 56524
2011-01-30 10:43:55 +00:00
Tom Hacohen
07004f537a
Evas textblock: Implemented support for size_native_get which was partially broken because calc_only was not implemented.
...
SVN revision: 56520
2011-01-30 10:43:26 +00:00
Tom Hacohen
03e32ec5c4
Evas textblock: Added mixedwrap code - the code is there but nothing is really using it at the moment, will add that in the future.
...
SVN revision: 56519
2011-01-30 10:43:21 +00:00
Tom Hacohen
546ceb4151
Evas textblock: Remove unused function: _evas_textblock_cursor_node_format_before_pos_get.
...
SVN revision: 56518
2011-01-30 10:43:15 +00:00
Tom Hacohen
36261c8bd5
Evas textblock: Fixed a segfault with regular formats (ones without size explicitly set).
...
SVN revision: 56515
2011-01-30 10:42:56 +00:00
Tom Hacohen
80004f3d0b
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.
...
SVN revision: 56514
2011-01-30 10:42:48 +00:00
Tom Hacohen
fb07723f3d
Evas textblock: Fixed bug with relative sized items not showing.
...
SVN revision: 56513
2011-01-30 10:42:41 +00:00
Tom Hacohen
09b0ae1f42
Evas textblock: Fixed cursor when the cursor is in the end.
...
SVN revision: 56512
2011-01-30 10:42:35 +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
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
b8635d16ea
Evas textblock: Started using advancement for wrapping.
...
SVN revision: 56481
2011-01-30 10:39:22 +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
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
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
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