Commit Graph

1839 Commits

Author SHA1 Message Date
Carsten Haitzler e0e8a8eb42 lets happy-lucky-fun calloc shall we? make sure our structs are 0.
SVN revision: 51554
2010-08-22 22:51:46 +00:00
Tom Hacohen 735487e18e Evas textblock: simplified descent calculation.
SVN revision: 51516
2010-08-22 12:26:40 +00:00
Tom Hacohen 818c1dbf64 Evas textblock: fixed most of the cases on which a cursor was not drawn correctly.
SVN revision: 51515
2010-08-22 11:00:45 +00:00
Lucas De Marchi 5a8a8c9014 Convert (hopefully) all comparisons to NULL
Apply badzero.cocci, badnull.coci and badnull2.cocci

This should convert all cases where there's a comparison to NULL to simpler
forms. This patch applies the following transformations:

code before patch               ||code after patch
===============================================================

return a == NULL;                 return !a;

return a != NULL;                 return !!a;

func(a == NULL);                  func(!a);

func(a != NULL);                  func(!!a);

b = a == NULL;                    b = !a;

b = a != NULL;                    b = !!a;

b = a == NULL ? c : d;            b = !a ? c : d;

b = a != NULL ? c : d;            b = a ? c : d;


other cases:

a == NULL                         !a
a != NULL                         a




SVN revision: 51487
2010-08-21 13:52:25 +00:00
Tom Hacohen 7967a59ef8 Evas textblock: Fixed range_text_get, no works when selecting text from multiple paragraphs.
SVN revision: 51392
2010-08-19 14:07:45 +00:00
Cedric BAIL e6f9cee051 * eina: fix structure content to be more futur proof and reduce
risk of ABI breakage.


SVN revision: 51390
2010-08-19 12:02:28 +00:00
Tom Hacohen 75a676f945 Evas textblock: Improved the docs of the size get functions. It should now be clear exactly what they are about.
SVN revision: 51385
2010-08-19 07:46:32 +00:00
Carsten Haitzler 817c505230 remove transform stuff - never was implemented anyway so no effective
break.



SVN revision: 51384
2010-08-19 07:32:44 +00:00
Carsten Haitzler a0d8db000e and make dynamic hint actually work when we have zero-copy texture
support. fully ok now for argb8888.



SVN revision: 51380
2010-08-19 05:18:17 +00:00
Carsten Haitzler c398484812 fix stride and hint setting so any order works.
SVN revision: 51379
2010-08-19 05:03:37 +00:00
Lucas De Marchi 3c39c95844 Remove dead code
SVN revision: 51374
2010-08-18 23:32:15 +00:00
Christopher Michael b1d8f83639 Oops, alpha is used.
SVN revision: 51289
2010-08-18 16:22:27 +00:00
Christopher Michael 6459ec7b07 Remove/Comment out some unused variables.
SVN revision: 51286
2010-08-18 16:01:18 +00:00
Christopher Michael 75d0dc6e63 Add some missing functions that were EAPI'd, but not included in the
main header (This fixes some compiler warnings about implicit
declarations).



SVN revision: 51285
2010-08-18 15:52:16 +00:00
Christopher Michael d8913429b0 Fix compiler warning: "declared static but never defined".
SVN revision: 51284
2010-08-18 15:43:38 +00:00
Christopher Michael 76bc67ea7c Initialize var to Zero (remove compiler warning).
Remove Whitespace in cs_server.



SVN revision: 51283
2010-08-18 15:27:37 +00:00
Cedric BAIL c689865500 * evas: remove some warning.
SVN revision: 51281
2010-08-18 15:11:07 +00:00
Christopher Michael 00c661adab Fix warnings about some unused paramaters (This does not cleanup all
the warnings, just the ones which were Obviously not used).

Evas_Object_Text.c: Fix big ole nasty oopsie in the declaration of
object_func: Was missing a NULL for can_map.



SVN revision: 51280
2010-08-18 14:44:23 +00:00
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
Carsten Haitzler 61a4f8a0fc really minor - no api break. adding struct memmebrs that should have
been there. to implement request stuff properly. nothing breaks with
this. simply missing members we needed anyway.



SVN revision: 51270
2010-08-18 01:32:54 +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 ed847ee5aa Evas font draw: Fixed a typo in font draw
SVN revision: 51254
2010-08-17 15:59:03 +00:00
Cedric BAIL b792eff62d * evas: oops, that wasn't to be gone.
SVN revision: 51221
2010-08-16 16:13:41 +00:00
Cedric BAIL 05e8154f8b * evas: remove gradient and gradient2.
SVN revision: 51219
2010-08-16 15:14:49 +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 09d61da08b Evas bidi: Added saftey conversions to make sure FriBidiChar and Eina_Unicode are really the same size.
SVN revision: 51208
2010-08-16 12:51:30 +00:00
Cedric BAIL aa5d4fafc4 * evas: fix word/metric cache build.
SVN revision: 51204
2010-08-16 12:28:17 +00:00
Cedric BAIL 302e9e942e * evas: unbreak pipe rendering.
SVN revision: 51202
2010-08-16 12:12:13 +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
Carsten Haitzler 35447ef1d4 evas -> 1.0.0 alpha readied.
SVN revision: 51158
2010-08-16 06:58:07 +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
Lucas De Marchi 1c651049c5 Apply memset-calloc.cocci
Change calls to malloc + memset to calloc whenever an automatic conversion can
be done.

Possible candidates are not treated here, only the ones we can be sure the
conversion is safe.



SVN revision: 51078
2010-08-13 12:53:08 +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
Carsten Haitzler 01b7216880 more glue/infra. glue evas api to engine together. gl engine gets stubs.
SVN revision: 51028
2010-08-12 06:11:13 +00:00
Carsten Haitzler 83f2ef6142 working on new gl engine feature. inactive right now.
SVN revision: 51027
2010-08-12 06:02:15 +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 5e227d8d32 Evas: Updated Evas_BiDi docs.
SVN revision: 50966
2010-08-10 15:12:05 +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 7615995cc2 Evas: Fixed the compilation warning with sw8 engine. This is not just to beautify the compilation output (which is a good enough cause on it's own behalf), right shift with negative values is not defined in the standard which means everything can happen.
SVN revision: 50954
2010-08-10 07:36:23 +00:00
Carsten Haitzler ccfd7f27fc 1. slightly optimise a get opaque call. (some tests get a 5-10% speedup)
2. gl - be stricter on gl-es texture formats.



SVN revision: 50950
2010-08-10 02:35:07 +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 a470ed668c Fix wrong usages of malloc, calloc and E_NEW
Patch by bad-alloc.cocci


SVN revision: 50828
2010-08-05 00:50:43 +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 9275e5beb2 re-jig native surface stuff to share the same gl image between
multiple instances of the same pixmap.



SVN revision: 50758
2010-08-03 06:09:53 +00:00
Christopher Michael d061f6229c Remove some unused variables/dead assignments.
Fix some formatting while I am here.



SVN revision: 50717
2010-07-31 17:06:55 +00:00
Christopher Michael 3328859a0e Comment out dead assignment(s).
SVN revision: 50715
2010-07-31 07:13:21 +00:00
Christopher Michael f1c4520420 Fix evas_module clean 'bug'. NB: Not really an issue as this code
isn't used currently, but may be in the future, so fix the minor
bugger now, just in case :)



SVN revision: 50714
2010-07-31 06:15:00 +00:00
Christopher Michael ddf7f8d49f Cleanup some clang reports.
SVN revision: 50713
2010-07-31 06:12:39 +00:00
Christopher Michael 4b24545c3c Add missing break for case.
SVN revision: 50712
2010-07-31 05:48:51 +00:00
Christopher Michael cf0961ebf3 Add missing break for case statement.
SVN revision: 50711
2010-07-31 05:46:16 +00:00
Christopher Michael 428d5c05ab 'cache' is unused here.
SVN revision: 50710
2010-07-31 05:44:15 +00:00
Brett Nash 68b8380d51 Two fixes: Use the correct string for the stringshare and
if gl is on, but metric is compiled out, just bail out of all word/metric
cache


SVN revision: 50678
2010-07-30 04:53:30 +00:00
Brett Nash 618f5cdf34 Use strnlen... NFI if this works yet.
SVN revision: 50677
2010-07-30 03:51:48 +00:00
Brett Nash ec7e390bdf Fix word/metric cache to use strlen
SVN revision: 50675
2010-07-30 03:20:40 +00:00
Brett Nash 7403813b4b Fix the compile error: Doesn't fix massive performance regression or rather
obvious semantic change in the code.

ie: If you are changing code:
	Read the comment on the LINE ABOVE the code you are changing.


SVN revision: 50674
2010-07-30 03:04:43 +00:00
Cedric BAIL d184ce5c72 * evas: remove generated file.
SVN revision: 50643
2010-07-29 13:47:12 +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
Brett Nash 2df94e37ff Minor fixes to font drawing with metric caching enabled.
SVN revision: 50632
2010-07-29 03:34:30 +00:00
Christopher Michael 28a5e44f7d Make evas build again (here at least).
Added missing unicode & bidi opts to necessary places.
Fixes lots of compiler warnings.

NB - Not all engines tested. If you spot a problem wrt any specific
engine, please report it.



SVN revision: 50601
2010-07-28 17:57:18 +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
Brett Nash c391638bec ...but don't draw twice
SVN revision: 50588
2010-07-28 07:34:04 +00:00
Brett Nash 3f3f0909cc Fall through to slow path if no word and metric cache
SVN revision: 50587
2010-07-28 07:33:48 +00:00
Brett Nash 507834e27d Don't try and render wordcache if GL is on, and metric cache is enabled.
SVN revision: 50586
2010-07-28 07:33:23 +00:00
Carsten Haitzler c4da05607d and add in the 8bpp gray stuff
SVN revision: 50571
2010-07-28 02:27:29 +00:00
Alexander Kerner 0ec2a33a22 From: Alexander Kerner <alexander.kerner@googlemail.com>
Subject: [E-devel] 8bpp xcb evas engine

Hi all,

I've implemented the 8bpp grayscale evas engine. It is based on the 16bpp
engine. It would be nice if someone could review the code and maybe commit
into svn. The patches against evas and ecore are attached.



SVN revision: 50560
2010-07-28 00:16:06 +00:00
Brett Nash 97528eaa60 Bloody fenceposts. Draw the right stuff when rendering. neon fixes ++ ;-)
SVN revision: 50503
2010-07-26 05:37:36 +00:00
Brett Nash 9357c5d284 Use memcmp instead of stringshare. Much faster.
Everyones favourite arm benchmarks (a8 cortex)
Base                       stringshare   memcmp     Diff   Diff %
Widgets File Icons               32.48    36.78      4.3   13.24%
Widgets File Icons 2             73.65    74.93     1.28    1.74%
Widgets File Icons 3             44.87    46.89     2.02    4.50%
Widgets File Icons 4             65.66    66.45     0.79    1.20%
Text Basic                       88.67    91.21     2.54    2.86%
Text Styles                      10.71    10.95     0.24    2.24%
Text Styles Different St           8.3     8.45     0.15    1.81%
Text Change                       56.4    57.34     0.94    1.67%
Textblock Basic                  60.75     68.8     8.05   13.25%
Textblock Intl                  155.33   193.51    38.18   24.58%


SVN revision: 50498
2010-07-26 03:17:40 +00:00
Brett Nash a834d2e85f Some improvements to 90 degree rotated neon.
SVN revision: 50476
2010-07-24 04:52:13 +00:00
Brett Nash 68682317e8 Bump the default buffer size. USeful for expedite ;-)
SVN revision: 50474
2010-07-24 02:38:36 +00:00
Brett Nash 8528bb0179 Tweaks to neon text: Help with some bugs at least.
SVN revision: 50410
2010-07-21 08:09:41 +00:00
Brett Nash 59d93f9353 Minor fix: Don't render text if there is nothing to do
SVN revision: 50408
2010-07-21 06:43:47 +00:00
Brett Nash 9dc5a96f2d Generally speaking, dereffing uninited pointners is not so good.
Squash one nasal daemon!


SVN revision: 50403
2010-07-21 03:51:36 +00:00
Cedric BAIL 58dfd1c2b8 * evas: make WORD/METRIC cache work with pipe rendering.
SVN revision: 50381
2010-07-20 12:11:49 +00:00
Cedric BAIL 3479d5e0ea * evas: fix fribidi lock.
SVN revision: 50380
2010-07-20 12:10:40 +00:00
Cedric BAIL 0a5c65549a * evas: font config access is not thread safe at all. Don't forget
to call FTLOCK/FTUNLOCK around each FT_* call.


SVN revision: 50379
2010-07-20 12:09:46 +00:00
Cedric BAIL 8006ed3753 * evas: METRIC and WORD cache require stringshare use in thread, so
enable it.


SVN revision: 50378
2010-07-20 12:07:51 +00:00
Cedric BAIL 8bd358c65e * evas: unbreak pipe rendering, that was a long break.
SVN revision: 50374
2010-07-20 09:32:28 +00:00
Christopher Michael 39adb32e71 Use eina_stringshare_replace rather than several _del & _add calls
(tested w/ no apparent adverse affects).

Fix some formatting.



SVN revision: 50307
2010-07-17 19:49:16 +00:00
Gustavo Sverzut Barbieri 7521047f09 Fix invalid access if using async-render
Ouch, that was nasty! src/lib/cache/evas_cache_image.c was assuming
all Image_Entry were RGBA_Image (why?!?!?), thus doing the cast and
having mutexes and other to operate on garbage (possibly crashing due
segv). This happened to be the case with Soft16_Image used by
software_16 engines.

I'm not sure, but this may fix problems that people noticed with
async-render hanging their systems even if not explicitly enabled
during runtime.

I also found it quite strange the number of locks required by this
code! Clearly we could use macros to simplify and avoid bugs, but
maybe some atomic_inc/dec code should be used to remove half of the
mutexes in that code?

/me wonders what kinds of bug more we can expect from this code :-/



SVN revision: 50300
2010-07-16 22:52:04 +00:00
Gustavo Sverzut Barbieri a7e471700b Fix soft16 preload by replicating Image_Entry::info.
Software 16bpp variants were crashing if using preload as the
Image_Entry that was used by preload did not keep the loader and
module information, since these were only set in the
Soft16_Image::source.  Now we copy these members while the source is
live.



SVN revision: 50299
2010-07-16 22:47:31 +00:00
Eduardo de Barros Lima 9b3cf97523 Ability to disable NEON code in runtime
Just set the EVAS_CPU_NO_NEON environment var if you want to disable Neon.
The same is done for other specific CPU codes, such as MMX, MMX2, SSE, etc.



SVN revision: 50271
2010-07-15 17:58:38 +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
Jonathan Atton d97c0b0a9a the min size of the box is the sum of the items min size
SVN revision: 50156
2010-07-09 11:17:35 +00:00
Christopher Michael fefbc09a63 Move Evas (and associated headers) to their own dir (ie: the 'eet.h'
move).



SVN revision: 50141
2010-07-09 06:10:55 +00:00
Brett Nash 8dfc47998e Add more control over word-cache size. Also really fix my leak on international text.
The new wordcache option is an environment variable called:
	EVAS_WORD_CACHE_MAX_WORDS
set this to a number between 1-500 to change the cache size.

Larger values (40+) fix regressions in a few of the expedite tests.



SVN revision: 50047
2010-07-05 06:40:20 +00:00
Brett Nash daa5685bd3 Don't check alloca, it's like checking the stack exists.
SVN revision: 49991
2010-07-02 08:31:12 +00:00
Brett Nash 0227f22ad7 Some fixes for internation support and word cache
SVN revision: 49990
2010-07-02 07:05:20 +00:00
Brett Nash 59bbcfbb8a Put a FIXME where someone doesn't understand alloca.
SVN revision: 49989
2010-07-02 06:53:41 +00:00
Brett Nash b304ae1642 Only use work and metric cacheing on 3 character or longer strings.
SVN revision: 49988
2010-07-02 06:47:22 +00:00
Brett Nash ac552cd762 Renable 'free' for word cache
SVN revision: 49986
2010-07-02 02:20:11 +00:00
Brett Nash 4b7cab6ed4 Not pure, don't need to care about results.
Code with side effects is NOT pure.  Cdoe where you can ignore the return
value because you care about the side effects should not have WARN_UNUSED...
Please only add such things when you've checked


SVN revision: 49984
2010-07-02 00:44:03 +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
Tom Hacohen 3e2b214065 evas: Removed the obsolete Arabic shaping as it's now done in FrBiDi (starting from version 0.19.2).
If you are having any problems with Arabic shaping please make sure you have FriBiDi version 0.19.2 installed at the time of compilation. If your distro doesn't have that version yet, make them upgrade, it's an year and a half old.

SVN revision: 49949
2010-06-30 16:51:49 +00:00
Cedric BAIL 7d75cf9914 * Evas: deprecating gradient API.
WARNING: I AM SORRY, BUT IF NO ONE IS PLANNING TO BECOME
	THE EFFECTIVE MAINTAINER OF THAT PIECE OF CODE, I WILL
	REMOVE IT NEXT WEEK.


SVN revision: 49945
2010-06-30 09:47:55 +00:00
Brett Nash 13fcfaa5a1 Neon fixes for text rendering
SVN revision: 49917
2010-06-28 05:21:34 +00:00
Brett Nash 5710adfa7b whitespace --
SVN revision: 49916
2010-06-28 05:21:05 +00:00
Brett Nash ee5ef216ef Suppress warnign about dropping const (AKA: C is stupid)
SVN revision: 49914
2010-06-28 05:14:36 +00:00
Brett Nash 22e2ac921c Fic names of caching vars.
SVN revision: 49854
2010-06-25 08:52:37 +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
Brett Nash 4d591c3148 Some more Neon updates: 180 degress.
SVN revision: 49692
2010-06-16 09:02:09 +00:00
Brett Nash 725e12bdfa Don't double declare len
SVN revision: 49663
2010-06-14 08:16:47 +00:00
Brett Nash c410401441 Remoive extra #endif
SVN revision: 49662
2010-06-14 08:07:12 +00:00
Brett Nash 02f204b84c Add experimental word and metric caching.
SVN revision: 49661
2010-06-14 05:59:23 +00:00
Gustavo Sverzut Barbieri 94ee30952b Although evas_debug is flagged with "debug" in the name, messages are critical.
The evas_debug functions are just called from MAGIC_DEBUG errors, that
are quite critical, so messages should come out by default, and do
that loud with a CRITICAL warning.

Raster, cedric and others: now that we have Eina as a common
dependency between Evas and Ecore, maybe it is worth to unify the
debug system on top of Eina logging? It already provides "abort on
critical", runtime configurable log levels. I'd say the same about the
magic and safety checks themselves (eina_magic and eina_safety).




SVN revision: 49643
2010-06-11 18:35:40 +00:00
Vincent Torri 5ab3172ca0 it seems that gcc 4.5.0 on Windows does not like my function pointers
SVN revision: 49592
2010-06-09 14:43:40 +00:00
Vincent Torri 558daff395 use function pointers
SVN revision: 49563
2010-06-08 06:08:17 +00:00
Cedric BAIL 5685faac42 * evas: make it possible to call unload_all from surface_alloc.
SVN revision: 49448
2010-06-04 15:21:12 +00:00
Carsten Haitzler 0d5088488e clean up smart cb descriptions on del.
SVN revision: 49438
2010-06-04 04:07:12 +00:00
Carsten Haitzler 3a5502362e fix valgrind complaint - indeed corner case.
SVN revision: 49414
2010-06-03 14:02:46 +00:00
Carsten Haitzler 3b8ae6502a ooh and also lkd - just to be clean.
SVN revision: 49346
2010-05-31 03:40:48 +00:00
Carsten Haitzler 77123462e1 now that header was a mess - and this wasnt using the same lock! bad
bad!



SVN revision: 49345
2010-05-31 03:31:49 +00:00
Carsten Haitzler 9621532945 trga loader - snarfed 80% from imlib2. missing paletted mode (just
like the imlib2 one) but.. handles alpha correctly- unlike imlib2 and
manyother loaders.



SVN revision: 49330
2010-05-30 17:48:19 +00:00
Carsten Haitzler 6f6730eaf8 for shits and giggles... i wrote a bmp loader. i did look at the old
imlib2 bmp loader, but it was imcomplete compared to the bmp
standards, so i actually ended up reading the file format definitions
on line i could find and using lots of test images... wrote a new one.
you can at least view bmp files now. note - i found 1 bmp file that
claims to have an alpha channel (amask is non-empty) and then proceeds
to provide an image with pixels - all alpha 0. so its transparent when
it shouldnt be. beats me but looks like a broken bmp file to me when
it compes to specs.



SVN revision: 49324
2010-05-30 13:04:34 +00:00
Carsten Haitzler 4bd7dd03d6 move evas version inside extern c.
SVN revision: 49274
2010-05-29 06:37:19 +00:00
Carsten Haitzler e7d93cc2f8 remove semi-colon
SVN revision: 49270
2010-05-29 06:27:29 +00:00
Carsten Haitzler 37e28d6008 evas version too.
SVN revision: 49268
2010-05-29 05:42:21 +00:00
Bruno Dilly 930fdce0ee small fix in evas html escape table
SVN revision: 49240
2010-05-27 21:03:53 +00:00
Brett Nash 285d1558ae Fix buggy arm ldr instruction.
The size suffixes are apparetly allowed only on neon instructions.
Thanks to Ben Zores for the bug report + testing.


SVN revision: 49174
2010-05-24 02:16:14 +00:00
Carsten Haitzler cec0aa3771 segv there in frame queue code. fix.
SVN revision: 49107
2010-05-21 16:50:25 +00:00
Gustavo Sverzut Barbieri 446b0040a4 make it easier to debug if it was enabled, and how :-)
minor style fixes.



SVN revision: 49100
2010-05-21 14:14:54 +00:00
Carsten Haitzler d17e840e13 aaah yes - the flush will ... possibly delete the image - in fract almost
definitely as it got to 0 fref. unlocking the image is bad as it was just
deleted. do the delete (cache fluch) after unlock.



SVN revision: 49089
2010-05-21 07:44:07 +00:00
Carsten Haitzler 6e93fa88d3 unloading of loader module -> bad for sync preload it seems.
SVN revision: 49088
2010-05-21 07:31:03 +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
Brett Nash 5259fb8d83 BUILD_NEON, not BUILD_NEONx
/me kicks me for commiting debugging code.


SVN revision: 49000
2010-05-19 09:03:46 +00:00
Brett Nash 0a18dc2c93 Neonized rotated 90 display for ARMs.
Share and enjoy.
See my previous neon related commit for more details.


SVN revision: 48999
2010-05-19 08:52:29 +00:00
Carsten Haitzler cedba3f7d9 handle gl init fialure correctly and dont mess up font init.
SVN revision: 48959
2010-05-18 04:22:33 +00:00
Sebastian Dransfeld 2c74596411 evas: Add return value
SVN revision: 48820
2010-05-13 20:24:06 +00:00
Sebastian Dransfeld ab7e6fe3f8 evas: remove unused variables
SVN revision: 48819
2010-05-13 20:23:49 +00:00
Brett Nash bd6b2d5cb1 Neon improvements for ARM Cortex.
Samsung Electronics just allowed me to release the first set of ARM neon
patches under the Evas licence.  They are silently helping improve EFL and
this another product of their help.

These patches have been tested on a Cortex A8 and show consistent improvement
across the board.  For expedite some tests up to 100% improvements, and
practical real world examples show that rendering limited applications show
similar improvements.  For instance in one application from 17fps->30fps or
for another 40->63fps.

The patches are pure neon code (intrinsics tend to generate worse code).  To
build under GCC you will need a recent GCC and the following C flags:
	-mfloat-abi=softfp -mfpu=neon
I also recommend -O2 and -ffast-math.

If you have any problems please let me know.


SVN revision: 48733
2010-05-10 09:24:11 +00:00
Carsten Haitzler db0679543f oops - call params in right order.
SVN revision: 48627
2010-05-05 16:17:23 +00:00
Cedric BAIL 7bcd87e551 * evas: bring back object cache.
SVN revision: 48620
2010-05-05 11:36:21 +00:00
Carsten Haitzler 7041c968bf oooh you'd love to know why this is here.. won't you? :)
SVN revision: 48613
2010-05-04 15:58:10 +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
Carsten Haitzler c10f1e9c5d fix map rendering of text objects.
SVN revision: 48501
2010-05-01 13:27:05 +00:00
Carsten Haitzler 64c051e7c2 fix map render bug.
SVN revision: 48462
2010-04-30 08:24:55 +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 8ea3844c85 fix fill render bug cedric reported. :)
SVN revision: 48393
2010-04-28 14:38:46 +00:00
Carsten Haitzler a0b2235a44 add offset in transform of coords. missed that.
SVN revision: 48372
2010-04-28 01:52:58 +00:00
Cedric BAIL fc44f0f050 * evas: cleanup white space.
SVN revision: 48363
2010-04-27 13:43:10 +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
Gustavo Sverzut Barbieri 9b5981a52e Get a table element with its coordinates.
By: Hugo Camboulive <hugo.camboulive@gmail.com>


SVN revision: 48087
2010-04-17 20:27:53 +00:00
Carsten Haitzler d2124c5b46 remove useless eol
SVN revision: 48075
2010-04-17 16:19:11 +00:00
Carsten Haitzler 58c7049da8 allow neon build even if not armv4 - eg build for armv6 but add neon asm as a
"check if its there then use it" ala mmx/sse as opposed to require it all be
neon armv7 stuff ffor neon to work.



SVN revision: 48044
2010-04-16 00:13:46 +00:00
Carsten Haitzler a6e4ee23f5 oops. fix scalecache issue - would do a LOT of unload/reload thanks to extra
dump code. moved into dump code as opposed to unload.



SVN revision: 47982
2010-04-13 03:00:29 +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
Vincent Torri 57c16867e2 remove unused variable
SVN revision: 47840
2010-04-08 17:41:18 +00:00
Vincent Torri 438f002794 use float constants instead of double as computations
are done on float numbers


SVN revision: 47839
2010-04-08 17:41:00 +00:00
Gustavo Sverzut Barbieri 8ada2841d0 convert annoying debug into eina log so it is disabled by default.
SVN revision: 47651
2010-04-01 16:03:23 +00:00
Gustavo Sverzut Barbieri ad0679e050 do not operate if there is no callbacks (unsetting them).
SVN revision: 47650
2010-04-01 15:56:06 +00:00
Carsten Haitzler 54f089964c maybe fix rui's stuff?
SVN revision: 47616
2010-03-31 00:39:10 +00:00
Carsten Haitzler 5f309b5d9f actually fix evas event cb leak for good. work ast smart desc leak.
SVN revision: 47552
2010-03-29 05:03:25 +00:00
Carsten Haitzler 46e1d8a866 fix small leak - cannvas callbacks not cleaned.
SVN revision: 47551
2010-03-29 02:40:49 +00:00
Vincent Torri 9ed7f52215 remove unneeded semi-colon
SVN revision: 47529
2010-03-28 12:24:10 +00:00
Brett Nash d267122d9e Always mark object as dirty after a map_change.
Otherwise doesn't handle UV or colour changes.  It's a bit heavy handed, but
it's a lot easier.


SVN revision: 47526
2010-03-28 05:40:42 +00:00
Gustavo Lima Chaves 79449a8226 Off-by-one at debug?
SVN revision: 47492
2010-03-26 14:46:01 +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
Cedric BAIL 3d27a7b9e4 * evas: improve thread rendering by moving image loading in worker thread.
SVN revision: 47434
2010-03-24 19:07:59 +00:00
Cedric BAIL 1a51c662bf * evas: make map work with threaded rendering.
SVN revision: 47429
2010-03-24 16:39:39 +00:00
Cedric BAIL f715c8584d * evas: fix uncertain lock. It's look like it improve perf here without breaking things.
SVN revision: 47428
2010-03-24 14:55:37 +00:00
Cedric BAIL 80901b0abe * evas: fix build with thread rendering on and scale cache off.
SVN revision: 47427
2010-03-24 14:46:28 +00:00
Cedric BAIL 31d6a2e21c * evas: remove lock during heavy computation.
FIXME: Still one at line 685, but don't know if it's safe to move it around.

	TODO: Fix map support with threaded rendering.


SVN revision: 47426
2010-03-24 14:45:58 +00:00
Cedric BAIL 6549ab12ce * evas: fix potential race condition with FT_Activate_Size and threaded rendering.
SVN revision: 47419
2010-03-24 11:07:37 +00:00
Cedric BAIL e414c90820 * evas: fix fribidi race condition (perhaps not the right way) with thread rendering.
SVN revision: 47418
2010-03-24 11:06:54 +00:00
Cedric BAIL 34e4c55f37 * evas: Fix thread rendering issu with scalecache.
SVN revision: 47417
2010-03-24 11:06:02 +00:00
Iván Briano c1b67b4798 Add function to check smart type based on pointer alone. Useful when we have access to the class used to create the object.
SVN revision: 47413
2010-03-24 08:43:39 +00:00
Iván Briano 9570d2124c Couple of things for Smart Objects
* Subclass macro now gets a different function to retrieve the parent class,
   which should return a pointer to a fully set up class, instead of filling
   up one passed to it.
 * Add this functions and use them in SmartClippedObject and Box
 * New function to check the type of a Smart object all over its hierarchy tree


SVN revision: 47379
2010-03-23 01:22:20 +00:00
Carsten Haitzler 17764a850d fix bug when rendering not getting updates!
:)



SVN revision: 47365
2010-03-22 07:40:10 +00:00
Carsten Haitzler 264c2d5b1d fix event count issue with feeding hold from callback
SVN revision: 47364
2010-03-22 07:04:04 +00:00
Carsten Haitzler f2b1114521 actually... do canvas free.
SVN revision: 47362
2010-03-22 05:33:46 +00:00