Commit Graph

281 Commits

Author SHA1 Message Date
Tom Hacohen af31abca35 Evas: Improved evas_textblock_cursor_range_text_get to return markup text instead of plain text.
SVN revision: 50992
2010-08-11 12:29:20 +00:00
Tom Hacohen 41ebc486dc Evas: Textblock - Sanitized format init and shutdown.
SVN revision: 50991
2010-08-11 11:20:10 +00:00
Tom Hacohen af1dc88234 Evas: Cursor updates is now done in one function and it's updated correctly everywhere.
SVN revision: 50990
2010-08-11 10:27:44 +00:00
Tom Hacohen 62b8c6e43d Evas: fix range text get in textblock.
SVN revision: 50988
2010-08-11 08:33:22 +00:00
Tom Hacohen c3759fb4a2 Evas: Added align=auto format to textblock.
This is the default. This lets you make textblock (or parts affected by this tag) auto align according to the natural paragraph direction.

SVN revision: 50985
2010-08-11 07:46:37 +00:00
Tom Hacohen 3c7627035e Evas: Added auto lines alignment to textblock. RTL lines will automatically align to the right and LTR lines to the left.
This is not done per line, but per paragraph so a line break will not force recalculation of auto-alignment, only a PS.

SVN revision: 50984
2010-08-11 07:23:48 +00:00
Tom Hacohen 2b762c0f3b Evas: Update documentation of evas_object_textblock.
SVN revision: 50965
2010-08-10 14:36:48 +00:00
Tom Hacohen 10a14f3994 Evas: Fixed a bug when erasing the last paragraph of a textblock.
SVN revision: 50958
2010-08-10 08:34:47 +00:00
Tom Hacohen 632279c2f5 Evas: Fixed compilation without BiDi support.
SVN revision: 50934
2010-08-09 16:47:35 +00:00
Tom Hacohen d5e579c2e9 Evas: Redesigned the textblock object.
Sorry, but full documented code will be committed tomorrow, this commit is needed for the API stabilization.
Major changes in this commit:
1. Changed the textblock node system there is now a linked list for the format nodes and a linked list for the text nodes. Format and text nodes point to one anoter in a matter that will be explained in the source file (will be committed tomorrow). Each text node now represents a paragraph and each format node points to a specific location in a text 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 which are only slightly exposed just to enable users of the API to cycle all the formats in order to find stuff like anchors.
4. Every node has a PS (paragraph separator) format node pointing to it's end, except for the last one which has nothing. Nodes are only broken by PS's.
5. Changed the BiDi functions to work nicely with offsets in big chunks of text.

More is explained in the email with the subject 'Evas Textblock redesign + edje_entry adjustments' that will be sent tomorrow because of technical issues.
For full documentation about this object wait for the next commit.

SVN revision: 50930
2010-08-09 16:24:17 +00:00
Lucas De Marchi 0a4617ae38 FORMATTING
* Remove vim modelines:
 find . -name '*.[chx]' -exec sed -i '/\/\*$/ {N;N;/ \* vim:ts/d}' \{\} \;
 find . -name '*.[chx]' -exec sed -i '/\/[\*\/] *vim:/d' \{\} \;

* Remove leading blank lines:
 find . -name '*.[cxh]' -exec sed -i '/./,$!d'

If you use vim, use this in your .vimrc:
set ts=8 sw=3 sts=8 expandtab cino=>5n-3f0^-2{2(0W1st0



SVN revision: 50816
2010-08-04 16:57:32 +00:00
Carsten Haitzler c68d77a283 need to add null items for item format things (inserted external item
objects)



SVN revision: 50636
2010-07-29 07:42:30 +00:00
Tom Hacohen a6d428334f Evas: Changing the font engine to work with Eina_Unicode instead of utf8.
Changing textblock and text objects to work with Eina_Unicode instead of utf8 (internally, API remains intact).
Started relying on new fribidi 0.19.2 instead of the old fribidi.
A lot of fixes to the font engine.
Renaming of evas_common_font_utf8_* to evas_common_encoding_utf8_*
This relies on new Eina changes and types: Eina_Unicode, Eina_UStrbuf and Eina_UStringshare.

SVN revision: 50595
2010-07-28 12:00:41 +00:00
Lucas De Marchi 2a84379ba9 Remove unneeded code with notnull.cocci script
The notnull.cocci script from Coccinelle finds places where you check if a
variable is NULL, but it's known not to be NULL. The check can be safely
removed. For example, this code would be caught by notnull:

if (!var) return;
if (var && var->fld) { ... }

It's needless to check again if var is not NULL because if it's in fact NULL,
it would have returned on the previous "if". This commit removes all the
trivial places where this pattern happens. Another patch will be generated for
the more complex cases.


SVN revision: 50241
2010-07-14 02:05:47 +00:00
Lucas De Marchi e502081fa3 Use macro to get container of inlist
Revove warning.



SVN revision: 49959
2010-07-01 03:12:14 +00:00
Bruno Dilly 40db7f8c61 Add 3 missing symbols to escape strings
SVN revision: 49794
2010-06-22 14:01:50 +00:00
Carsten Haitzler a08e99cd82 warnings--
SVN revision: 49765
2010-06-20 06:32:05 +00:00
Bruno Dilly 930fdce0ee small fix in evas html escape table
SVN revision: 49240
2010-05-27 21:03:53 +00:00
Carsten Haitzler eaad0eb095 big patch from Samsung SAIT (Advanced research group) for async multi-frame
rendering. to turn on:

1.
configure with --enable-async-render
2.
export EVAS_RENDER_MODE=non-blocking
  
presto. necessitates some api swizzling (thus the expedite. ecore etc. changes)

the kind of results you get on a desktop:

http://www.rasterman.com/files/evas-async-vs-none.html



SVN revision: 49087
2010-05-21 07:10:45 +00:00
Sebastian Dransfeld ab7e6fe3f8 evas: remove unused variables
SVN revision: 48819
2010-05-13 20:23:49 +00:00
Carsten Haitzler 15b7e11198 hmm - i don't know how this happened, but - metrics were not being done
right. fixed now. i wonder why. this used to be right at some point.



SVN revision: 48503
2010-05-01 14:08:14 +00:00
Cedric BAIL a52773a8ab * evas: specify Evas canvas for Evas_Object.
SVN revision: 48428
2010-04-29 17:35:47 +00:00
Carsten Haitzler ac70bae562 correct ascent
SVN revision: 48309
2010-04-25 13:11:44 +00:00
Carsten Haitzler fbbd6ffef1 and make items work properly.
SVN revision: 48306
2010-04-25 13:05:45 +00:00
Carsten Haitzler 1112f418dc add api to get the item geometry itself. needed to put somethign there.
SVN revision: 48305
2010-04-25 12:40:26 +00:00
Carsten Haitzler d37f08a616 adding... items... oooooh what are these items? invisible sized blobs treated
like characters/words for wrapping. intended for use in sticking inlined
content - like icons, images etc.



SVN revision: 48301
2010-04-25 11:35:41 +00:00
Carsten Haitzler d2124c5b46 remove useless eol
SVN revision: 48075
2010-04-17 16:19:11 +00:00
Carsten Haitzler afe65d7c0a add ability to dump engine coontents (if engine supports it). this means
unload images it has loaded from disk, unload fonts, and more. dump dump dump!



SVN revision: 47947
2010-04-12 08:23:53 +00:00
Carsten Haitzler 79a950519d fix insert markup. (prepend)
SVN revision: 47464
2010-03-26 04:21:16 +00:00
Carsten Haitzler 37743d378e entry bug--
SVN revision: 47463
2010-03-26 03:57:22 +00:00
Gustavo Sverzut Barbieri fd2659c572 evas: mega documentation improving commit.
This commit moves Evas.h contents a lot, but it should not change code
(some conts were added, some function attributes were changed).

The purpose of such is to define the order that doxygen show modules
in its documentation.

I also splitted documentation a bit more, and added a src/examples to
list useful example code. Right now it is just a pure-evas
draw-and-save using buffer engine.

NOTE: there is lots to document, and the @todo list is quite long but
      I guess lots of things there were done already. Raster, could
      you review this list?




SVN revision: 47308
2010-03-18 04:57:40 +00:00
Carsten Haitzler c687663f14 more bug--
SVN revision: 47274
2010-03-16 04:09:00 +00:00
Carsten Haitzler 541d00ea16 crash--
SVN revision: 47270
2010-03-16 01:35:05 +00:00
Carsten Haitzler b86174f063 bug--
SVN revision: 47266
2010-03-16 00:56:11 +00:00
Carsten Haitzler 3033a7492a wow - killed 2 bugs with 1 stone!
:)



SVN revision: 47229
2010-03-15 02:34:11 +00:00
Carsten Haitzler 09279e3b3a segv--
SVN revision: 47207
2010-03-14 14:41:50 +00:00
Carsten Haitzler eae926c08b another bug--
SVN revision: 47204
2010-03-14 12:58:49 +00:00
Carsten Haitzler 2a78f7724c more entry bug--
SVN revision: 47201
2010-03-14 12:24:42 +00:00
Carsten Haitzler 033322a0c5 inf loop--
SVN revision: 47198
2010-03-14 08:04:49 +00:00
Carsten Haitzler 2527f5f00f fix valgrind complaints within tb - fixes an entry bug too.
SVN revision: 47197
2010-03-14 06:38:58 +00:00
Carsten Haitzler 5e3a5cc696 if cur not pointing to node.
SVN revision: 47196
2010-03-14 03:52:33 +00:00
Carsten Haitzler f8493edc4b printf--
SVN revision: 47174
2010-03-13 13:25:01 +00:00
Carsten Haitzler a8c9ccba77 and fix cursor when entry is empty case. more cases to fix yet.
SVN revision: 47155
2010-03-12 11:15:19 +00:00
Carsten Haitzler 4277c3ea20 ok segv not there.. but behavior not good. now i rememebr why the <br> was
there... :) time to fix this another way.



SVN revision: 47154
2010-03-12 10:49:39 +00:00
Carsten Haitzler aaaefc0b3e fix 1 entry insert issue - also printf debugging for now
SVN revision: 47134
2010-03-11 14:29:25 +00:00
Carsten Haitzler 78eba185ef according to dottedmag - this breaks things... i dndt see them - but.. lets
revert for now. i dont like breaks. :)



SVN revision: 46935
2010-03-07 07:29:26 +00:00
Carsten Haitzler 3f465fc58b alow linesiae to get smaller - from mikhal
SVN revision: 46930
2010-03-07 06:48:48 +00:00
Carsten Haitzler abd231ccf0 REVERT!!!! you broke evas build.
evas_object_textblock.c: In function ‘_nodes_next_merge’:
evas_object_textblock.c:380: error: ‘Evas_Object_Textblock_Node’ has no member named ‘len’



SVN revision: 46874
2010-03-04 16:22:28 +00:00
Mikhail Gusarov a4157cbc2a Insert more comments into _format and simplify if() logic as we go
SVN revision: 46873
2010-03-04 15:51:30 +00:00
Mikhail Gusarov a5a07377f6 evas_textblock: Make maxascent/maxdescent variables local.
They are used in single function, so don't keep them in structure.
As a side-effect rework _layout_line_advance for better readability.

SVN revision: 46872
2010-03-04 15:02:10 +00:00