Commit Graph

306 Commits

Author SHA1 Message Date
Tom Hacohen f9db3d6b84 Evas textblock: Fixed range_delete with multiple paragraphs + cursor position after deletion.
Switched int -> size_t in a couple of places I forgot.
Fixed all of gcc's warnings when compiling with -Wextra.

SVN revision: 51278
2010-08-18 13:56:34 +00:00
Tom Hacohen 71f8122aab Evas textblock: Fixed range_delete.
SVN revision: 51275
2010-08-18 12:29:20 +00:00
Tom Hacohen 35f14c47e2 Evas textblock: render should be allowed to be passed an object with no paragraphs, but should just return and do nothing.
SVN revision: 51263
2010-08-17 17:55:48 +00:00
Tom Hacohen a0c3f2a405 Evas textblock: Added comment about styles in the docs.
SVN revision: 51209
2010-08-16 12:56:01 +00:00
Tom Hacohen 2f68e9299e Evas: Fixed many compilation warnings.
1. Fixed evas_common_encoding_utf8 functions to get char * instead of unsigned char * and return Eina_Unicode instead of int.
2. Removed a couple of unused variables.
3. Removed deprecated evas_common_font_utf8* functions.

SVN revision: 51200
2010-08-16 10:46:56 +00:00
Tom Hacohen 1a979c596c Evas textblock: Fix the inefficent ways used to get string length. No need to get length twice and strbuf has a very fast function to getting length, no need to get the string and the calc it's length.
SVN revision: 51182
2010-08-16 09:44:50 +00:00
Tom Hacohen 9a1e0eecda Evas textblock: Fixed evas_textblock_cursor_paragraph_text_get to return markup.
SVN revision: 51181
2010-08-16 09:40:01 +00:00
Tom Hacohen 128e61649d Evas textblock: removed two unwanted fixmes.
SVN revision: 51178
2010-08-16 09:18:09 +00:00
Tom Hacohen 424b7ed6b7 Evas textblock: Another fix to 'range_get' fixes the text getting and not just the mishandling of formats.
SVN revision: 51176
2010-08-16 09:08:01 +00:00
Tom Hacohen 9ed2feb59e Evas textblock: Fixed a bug with getting text in range.
SVN revision: 51170
2010-08-16 08:52:18 +00:00
Tom Hacohen 5d3fc4a03e Evas textblock: Use the unicode object replacement char, not the regular replacement char.
Drop the object replacement char if passed as text.

SVN revision: 51168
2010-08-16 08:36:08 +00:00
Tom Hacohen 0f184462d1 Evas textblock: Updated usage documentation.
SVN revision: 51166
2010-08-16 08:22:18 +00:00
Tom Hacohen 25d7564726 Evas textblock: Fixed the bug with going up/down lines when the cursor points to an <item>.
With this fix I also fixed a couple of potential bugs with cursor geometry in places with mixed visible+invisible formatting.

SVN revision: 51133
2010-08-15 16:04:34 +00:00
Tom Hacohen 660a7b8ee4 Evas bidi: Added defines for bidi paragraph types (instead of using the fribidi defines).
SVN revision: 51131
2010-08-15 14:36:20 +00:00
Tom Hacohen b2b95df2be Evas: Removed deprecated 'lines' from Evas_Object_Textblock.
SVN revision: 51129
2010-08-15 09:10:15 +00:00
Tom Hacohen 3686e9d295 Evas textblock: Remove an unused function.
SVN revision: 51127
2010-08-15 08:59:39 +00:00
Tom Hacohen 2c2a0cb928 Evas textblock: Free paragraphs as well as lines.
Fixes a small memory leak.

SVN revision: 51126
2010-08-15 08:17:21 +00:00
Tom Hacohen 2ecda40ecd Evas textblock: Fixed cursor sizes in rare situations, for example the text from expedite textblock_basic test and point the 'c' in COLOR you would get a badly shaped cursor.
SVN revision: 51050
2010-08-12 15:49:43 +00:00
Tom Hacohen 86adc683d0 Evas: Textblock fixed formating.
SVN revision: 51045
2010-08-12 15:04:47 +00:00
Tom Hacohen 5cc418c333 Evas: Textblock - Fixed a couple of segs/invalid memory access.
SVN revision: 51044
2010-08-12 14:59:42 +00:00
Tom Hacohen d8fadf706b Evas: Each paragraph has at least one layout item in order to mark it's existence.
SVN revision: 51039
2010-08-12 14:20:19 +00:00
Tom Hacohen 3ec81c0b3e Evas: textblock - made _format_fill faster.
SVN revision: 51032
2010-08-12 09:35:53 +00:00
Tom Hacohen eda4539c2c Evas: textblock - Made _format_param_parse sane and cleaner and fixed compilation warnings about unused functions.
SVN revision: 51031
2010-08-12 09:31:43 +00:00
Tom Hacohen fd04d4c5d3 Evas: fixed textblock compiler warnings.
SVN revision: 51029
2010-08-12 07:02:30 +00:00
Tom Hacohen d408865797 Evas: textblock - fixed arabic shaping and fixed an issue with persistant paragraph direction (regarding RTL).
SVN revision: 50996
2010-08-11 13:03:24 +00:00
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