Evas textblock: split the visual layouting to two stages:
authorTom Hacohen <tom@stosb.com>
Sun, 30 Jan 2011 10:41:42 +0000 (10:41 +0000)
committerTom Hacohen <tom@stosb.com>
Sun, 30 Jan 2011 10:41:42 +0000 (10:41 +0000)
commitb46c83aeac255f9705f6b784f5f5aed524e2070d
treee4532d797c3041e323cb0e1aa1a894d2107e8cda
parenta2fc127e8cbe1ad5ced57655561dae531e14b7e3
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
legacy/evas/src/lib/canvas/evas_object_textblock.c
legacy/evas/src/lib/engines/common/evas_font_ot.c
legacy/evas/src/lib/engines/common/evas_font_ot.h
legacy/evas/src/lib/engines/common/evas_text_utils.c
legacy/evas/src/lib/engines/common/evas_text_utils.h