Hey all,

As promised, I committed my evas textblock (and related edje_entry)
changes today (actually yesterday, but because of technical issues this
email is only sent today).
What exactly changed:
1. The textblock node system. Instead of the linked text and format
nodes structure that was used until now, there are two linked lists:
text nodes and format nodes. Each text node represents a paragraph and
the format nodes represent formatting, either visible or invisible.
Each text_node has an associated format node (which is the first format
node pointing to it, or if there's none, the last format node before
it), every text node has a format node associated unless if there are no
format nodes before and then the format node is set to NULL. Each format
node points to a text node and a position in that format node (actually
an offset from the last relevant format node).
2. Text/format nodes are now two distinct data types.
3. The concept of nodes is no longer exposed in the API except for the
format nodes concept which lets the user of the API cycle through the
format nodes finding whatever he looks for (for example: anchors).
4. Because the nodes are essentially paragraphs the only way to break a
node is by inserting a PS (paragraph separator).
5. Pressing return in edje_entry now translates to "ps" (paragraph
separator) and pressing shift+return now translates to a line berak
(<br>). Unless a line break is specifically desired, <br> should be
avoided. This behavior is very common (openoffice, ms office, etc...)
because it's more correct. Although the LTR guys won't see much of a
difference (in the short run), RTL guys will really enjoy this change
because this concept is very important for the BiDi algorithm.
6. Adjusted edje entry to work with the new API, edje_entry should be
faster and is definitely cleaner now.
7. Changed the BiDi functions a bit to work nicer with sections of big
chunks of text.


What's still not there:
1. Optimizations.
2. Proper documentation (sorry guys, had to commit this today, docs will
follow in the next couple of days).

--
Tom.

Performance comparison:

                                OLD       NEW
                   Text Basic:  170.26    178.55 (  +4.9%)
                  Text Styles:   15.63     15.91 (  +1.8%)
Text Styles Different Strings:   11.25     11.06 (  -1.7%)
                  Text Change:  105.36    100.91 (  -4.2%)
              Textblock Basic:  173.08    174.80 (  +1.0%)
               Textblock Intl:  463.97    458.93 (  -1.1%)




------------------------------------------------------------------------------
This SF.net email is sponsored by 

Make an app they can't live without
Enter the BlackBerry Developer Challenge
http://p.sf.net/sfu/RIM-dev2dev 
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to