Commit Graph

865 Commits

Author SHA1 Message Date
Tom Hacohen ca2a3eb5a6 Evas font-engine: remove an usued variable in the font drawing functions.
SVN revision: 56438
2011-01-30 10:34:42 +00:00
Tom Hacohen 6dba792f46 Evas font-engine: Change EVAS_FONT_WALK_TEXT_* functions to advance pen_x at the end of the loop (so a break won't advance it, but a clean finish will) and removed the checking if a diacritic using and advancement hack (that only worked only with specific fonts anyway) so we'll be able to start working with Harfbuzz.
SVN revision: 56437
2011-01-30 10:34:36 +00:00
Tom Hacohen 952ba44f0b Evas font engine: Added evas_common_font_query_pen_coords.
SVN revision: 56432
2011-01-30 10:34:07 +00:00
Tom Hacohen 3d6ca9eca9 Evas font engine: The position of the NULL returned from coords should depend on query_advance, not query_size.
SVN revision: 56431
2011-01-30 10:33:57 +00:00
Tom Hacohen 509e7bed98 Evas font-engine: handle invisible chars in font query.
SVN revision: 56429
2011-01-30 10:33:43 +00:00
Tom Hacohen 039fd390a7 Evas font engine: Fixed query_size and query advance.
SVN revision: 56427
2011-01-30 10:33:32 +00:00
Tom Hacohen 34d5f9141d Evas font engine: Merge text walking to a couple of macros, this is more consistent, and the code is smaller and easier to handle.
SVN revision: 56426
2011-01-30 10:33:24 +00:00
Tom Hacohen d7c2187c1f Evas font engine: Added skipping of invisible chars to the font drawing function - this means we can't draw them until we add a specil "draw inivisble" mode.
SVN revision: 56424
2011-01-30 10:33:14 +00:00
Tom Hacohen a92826ae5e Evas textblock: Fixed mixed format and text item reordering.
SVN revision: 56404
2011-01-30 10:31:08 +00:00
Carsten Haitzler c472771a84 well neon asm was wrongly documented - and wrong before anyway. it's
disabled for now and uses memcpy. bizarre stuff occurs if i try use it
though.



SVN revision: 56304
2011-01-26 08:45:11 +00:00
Carsten Haitzler ecd007c049 fix slow path in neon - memcpy is actually faster! :)
SVN revision: 56240
2011-01-20 09:33:07 +00:00
Carsten Haitzler 6a5adabb1c prevent fpe (dv by 0)
SVN revision: 56191
2011-01-16 12:04:40 +00:00
Carsten Haitzler 4da0e7dbb6 remove unused code.
SVN revision: 56177
2011-01-16 06:22:45 +00:00
Carsten Haitzler e0fbc8d169 chr never used in func.
SVN revision: 56175
2011-01-16 06:19:12 +00:00
Carsten Haitzler e7bd084847 in case we access other footer elements in future - align it.
SVN revision: 56174
2011-01-16 06:00:12 +00:00
Carsten Haitzler 9218ac3c38 more robust utf8 walking code to survive malformed utf8 and not crash
in the next ut8 char get code.



SVN revision: 56131
2011-01-15 14:08:56 +00:00
Mike Blumenkrantz 4f5e4e0765 sighhh add more calloc checks
SVN revision: 56100
2011-01-14 06:35:41 +00:00
Mike Blumenkrantz 39eb62a758 add calloc check to avoid null deref
SVN revision: 56098
2011-01-14 06:28:40 +00:00
Mike Blumenkrantz fbb73e32a9 another dead store
SVN revision: 56094
2011-01-14 06:14:39 +00:00
Mike Blumenkrantz 930a112d6f this is never read, so remove it
SVN revision: 56092
2011-01-14 06:11:07 +00:00
Carsten Haitzler da9bf3353f oooh oops. all calls to cache_prune already lock for it.. so deadlock!
fix fix! sorry!



SVN revision: 56043
2011-01-11 08:12:32 +00:00
Carsten Haitzler 49f5946b26 remove dangling useless template code
SVN revision: 56038
2011-01-11 05:43:48 +00:00
Carsten Haitzler 04ab07667b fix possible thread lock issue - scalecache wasnt locked in 1
circumstance.



SVN revision: 56037
2011-01-11 05:43:10 +00:00
Carsten Haitzler 19d4f8affc add unload callback - missing event problem that makes it impossible
for client apps that tried to be efficient with preloads to adapt
when the preloaded data is taken away from them. this allows it.
missing callback api bug fix.



SVN revision: 55745
2010-12-24 16:04:27 +00:00
Vincent Torri bb9de107ad preload_done member is declared only if async preload is enabled
SVN revision: 55627
2010-12-18 10:09:58 +00:00
Vincent Torri c60b4933c0 preload_done member is declared only if async preload is enabled
SVN revision: 55626
2010-12-18 09:59:50 +00:00
Vincent Torri 9064029863 missing declaration
SVN revision: 55625
2010-12-18 08:48:58 +00:00
Carsten Haitzler 62c8659619 fixed async preload stall bug! still 1 issue left when caches
(scalecaches) are flushed which can cause a hang until all data is
"loaded back in" again. it's a bit of a doosey actually and so isn't
fixed here.



SVN revision: 55551
2010-12-14 10:22:06 +00:00
Carsten Haitzler bd3ae0dc9d fix warning.
SVN revision: 55542
2010-12-14 03:09:01 +00:00
Carsten Haitzler b493685f89 set clobber info right for neon test.
SVN revision: 55529
2010-12-13 03:56:53 +00:00
Brett Nash f2e4cc5555 Evas: Neon: Do neon test if ARM...
Not ARM 70.  So this should you know... turn on the neon test.

SVN revision: 55317
2010-12-06 07:53:33 +00:00
Brett Nash 157bf3a573 Evas: Neon: More .fpu neon flags
Also clean up some ugly code.

SVN revision: 55314
2010-12-06 04:57:54 +00:00
Brett Nash 19c28b345f Evas: Neon: Explicitly set the .fpu flag for neon.
This means you should not need to set any special compiler flags; which should
mean gcc will generate non-neon specific asm (unless you tell it to).  This
means it is possible to build an armv6 binary with neon suppor (as we always
meant to to do).

SVN revision: 55307
2010-12-06 01:50:32 +00:00
Cedric BAIL 1ca29e1649 * evas: reorder header as needed.
SVN revision: 55199
2010-12-03 16:47:05 +00:00
Carsten Haitzler cb41bf7dbd From: 백근훈 [mailto:knhoon.baik@samsung.com]
Subject: evas scalecache 관련 패치 검토 요청
...

There is the report that evas_engine_dump() does not dump scalecache.
Knhoon made a patch for that.



SVN revision: 55178
2010-12-03 09:36:17 +00:00
Carsten Haitzler 10bfc098fb fix neon (thnx nash) to not round down incorrectly on blend
SVN revision: 55115
2010-12-01 09:46:49 +00:00
Carsten Haitzler afa0050f32 fix smooth scaler to not round down incorrectly.
SVN revision: 55114
2010-12-01 09:46:26 +00:00
Carsten Haitzler f5b7648de0 make cutout rect blocks a bit bigger.
SVN revision: 54547
2010-11-14 06:00:35 +00:00
Tom Hacohen 7bf2353f96 Evas font-engine: Fixed the first miss breaks font bug and removed the work around. My tests show it work, but just to make sure, if it doesn't for you, let me know.
SVN revision: 54456
2010-11-11 13:07:04 +00:00
Cedric BAIL 87d707ee2c * evas: some style fix.
SVN revision: 54331
2010-11-08 14:34:19 +00:00
Cedric BAIL 4e1ea67122 * evas: don't segv when manipulating line at canvas border.
FIXME: When the jump code start, it break line continuity and
	make them look hugly. I have no idea how to properly fix that
	right now.


SVN revision: 54330
2010-11-08 14:31:22 +00:00
Cedric BAIL 4b50987072 * evas: fix possible off by one bug with line object.
Reported by Daniele.


SVN revision: 54182
2010-11-05 14:59:22 +00:00
Tom Hacohen da512dde9b Evas font-engine: Don't break if there was a previous miss. This is a workaround for a bug in the font index caching mechanism that happens if you cache the index miss before all the fonts were changed. We should probably just put a "dirty" flag on font sets that loaded more fonts or something like that.
SVN revision: 54157
2010-11-04 16:32:42 +00:00
Carsten Haitzler 05246414c6 oops - in the process i disabled the multiple fonts in the fontsets to
load on demand when first needed. fixed. rendering etc. works again
for all intl fonts.



SVN revision: 54085
2010-11-02 04:56:57 +00:00
Carsten Haitzler e0e6020902 work on fixing up a font "leak". its disabled via returns in funcs -
but also added in 24bit unicode support. needed for unicode v6
absolutely.. so we can have the pile of poo char work.



SVN revision: 53987
2010-10-29 12:55:42 +00:00
Carsten Haitzler 541394175a fix tasn bug++
SVN revision: 53860
2010-10-25 11:56:20 +00:00
Carsten Haitzler 3a9d3268d2 fix warnings in async render code.. and well.. warn about it - it
crashes for me in expedite with 4 cores on x86 at random points. looks
like it's bitrotting. though it was relatively tentative to begin with.



SVN revision: 53856
2010-10-25 11:27:17 +00:00
Tom Hacohen 79ec0e7975 Evas font-engine: Silence gcc about a possible use of unitialized value which can't really happen. Add parenthesis where needed.
SVN revision: 53855
2010-10-25 11:24:25 +00:00
Tom Hacohen 9a89173df6 Evas font-engine: Reverted my hack in 53828 because cedric already implemented clipping to object geometry.
SVN revision: 53830
2010-10-24 12:28:36 +00:00
Tom Hacohen b705c2c038 Evas font-engine: Hacked around a wrong setting of clipping in textblock. - Email in ML will soon follow.
SVN revision: 53828
2010-10-24 10:59:52 +00:00
Cedric BAIL d88f751b16 * evas: prevent possible segv.
SVN revision: 53408
2010-10-14 15:52:10 +00:00
Tom Hacohen 8d0492fcfd Evas textblock + font engine: Don't take inset into account when not needed.
SVN revision: 53353
2010-10-13 13:33:59 +00:00
Gustavo Sverzut Barbieri 379b546adf better logging.
* log domains in lower-case only please. let's make it a standard so
   we don't have to look at the code everytime to figure out the name...

 * logs do NOT require trailing newline (\n), it's automatic!

 * do NOT add newline inside log messages!

 * add gl_common logging.

NOTE: I tried to compile all modules, but there are clear broken
      modules such as cairo and qtopia. Other modules like gl_sdl are
      broken as they were not updated to new gl_common api (resize
      method AFAIR).



SVN revision: 53174
2010-10-07 23:46:42 +00:00
Christopher Michael 2f3b2b99e5 Fix issue when using word-cache: Make sure we have a 'last' word
before trying to free it, else we segfault.

Fix compiler warnings wrt const vs non-const of Evas_BiDi_Props.
Fix formatting and remove whitespace also.

NB: The major change here is in evas_font_word_prerender wrt freeing
the 'last' word of the cache.



SVN revision: 53166
2010-10-07 21:07:53 +00:00
Tom Hacohen fc060c6a8f Evas font query: query coords should not take bitmap positioning into account.
SVN revision: 53097
2010-10-06 12:24:14 +00:00
Tom Hacohen cfa9703607 Evas textblock and font engine: Fixed cursor position to be at the end of the current item, and not the end of the line, this looks nicer in bidi strings.
Fixed querying char coords to return the current position of the NULL according to the text's alignment, not the paragraph's.

SVN revision: 53061
2010-10-05 14:05:23 +00:00
Carsten Haitzler a8c72076d4 warnings--
SVN revision: 52442
2010-09-19 01:57:19 +00:00
Carsten Haitzler 9cb35948bc warning--
SVN revision: 52441
2010-09-19 01:46:13 +00:00
Carsten Haitzler 16c3803a71 warning--
SVN revision: 52440
2010-09-19 01:42:45 +00:00
Carsten Haitzler c3870d27c0 warning--
SVN revision: 52439
2010-09-19 01:41:46 +00:00
Gustavo Sverzut Barbieri d89ebf341b cleanup: internal image information is now unsigned.
There is no meaning in negative values for image loading, marking as
dirty or size, so image internals (cache, entry) were changed to
unsigned, reducing possible errors, particularly with overflow.

engines were converted to the new way, but any 3rd party modules will
still work as they should be using values >= 0 only anyway.

please review.

new cases introduced by "comparison between signed and unsigned" were
fixed in the modules that used cache_entry or Image_Entry dimensions.



SVN revision: 52428
2010-09-18 23:16:25 +00:00
Gustavo Sverzut Barbieri 19f0eebd27 cleanup: simple clean of "comparison between signed and unsigned errors"
not much to see here, please review but these are simple changes.



SVN revision: 52426
2010-09-18 23:07:31 +00:00
Gustavo Sverzut Barbieri e37c1c7a0a cleanup: fix some "unused" errors from -Wextra.
As we're heading for a release we better remove as much errors as
possible and as the first step I'm removing warnings due unused
parameters, variables and functions. These tend to pollute real errors
spotted by -Wall and clang/llvm.

This does not fixes all, just the clear that could be set to
__UNUSED__, particularly to do (and I'd like some help from the
authors):

 * src/lib/engines/common/evas_font_{draw,query}.c (tasn):
   intl_props is just used while doing BIDI, but also used in other
   #ifdef blocks :-/

 * evas_map_* (raster):
   huge amount of warnings, code is quite confusing and thus I'm not
   touching it. I have no idea whenever the commented blocks or extra
   parameters are intended to be used or no.

 * src/modules/engines/fbevas_fb_main.c (raster?):
   is fb_setvt() to be used? If not do you mind removing it?

 * src/modules/engines/gl_{common,x11} (raster):
   huge amount of warnings, code is quite nested and full of #ifdefs
   that does not help to give a clear picture of what's going on.

 * src/bin/evas_cserve_main.c (raster):
   I could have ignored most of the errors, but is the code correct? I
   mean, there is no unload of images being applied. If you confirm
   none of those warnings are harmful I can flag them as unused.

 * src/lib/engines/common_8 (dottedmag):
   lots of unused functions that were acquired from common_16, they
   are unused and if they will not, then they should be removed.



SVN revision: 52421
2010-09-18 19:17:41 +00:00
Gustavo Sverzut Barbieri a22dac6ea3 Add missing evas_common prefix, avoid symbol redefinition.
soft16 was written as a single engine, thus it was all static/global
and had no EAPI in its functions, but then it was moved into
"src/lib/common_16" and got that, but got no prefix! That could cause
clash with other libraries, so adding such prefix.

soft8 was a copy of 16, thus had the same problems.

the engines were all based on software_x11, thus they defined the same
methods to deal with Xlib, however if you link them all in the same
binary (--enable-MODULE=static), the symbol would be redefined. Rename
symbols according to their module.



SVN revision: 52420
2010-09-18 17:43:13 +00:00
Tom Hacohen 108bdeeadd Evas font: removed old (already removed a long time ago) functions from evas_font.h.
SVN revision: 52293
2010-09-15 09:11:19 +00:00
Lucas De Marchi 85815e306c Fix common misspellings
Following misspellings were fixed:

accomodate->accommodate
achive->achieve
beacuse->because
caluclate->calculate
cant->can't
carefull->careful
convertion->conversion
dependancy->dependency
dependant->dependent
doesnt->doesn't
existant->existent
extention->extension
fucntion->function
impliment->implement
inital->initial
lenght->length
occured->occurred
occuring->occurring
onyl->only
positon->position
possibilty->possibility
postion->position
proccessing->processing
proccess->process
propogate->propagate
recieve->receive
sucessive->successive
teh->the
ther->there
throught->through
thsi->this
wasnt->wasn't
whcih->which
wheras->whereas




SVN revision: 51965
2010-09-08 03:51:24 +00:00
Tom Hacohen 2a073bc103 Evas bidi: Fixed docs.
SVN revision: 51900
2010-09-05 09:45:28 +00:00
Carsten Haitzler 69fa1e6386 fix async enabled evas on a single core system.
SVN revision: 51876
2010-09-04 04:12:46 +00:00
Tom Hacohen bc755aa40f Evas textblock: updated docs.
SVN revision: 51837
2010-09-02 11:57:52 +00:00
Tom Hacohen ea9922698e Evas textblock: Fixed compilation without fribidi.
SVN revision: 51836
2010-09-02 11:53:40 +00:00
Tom Hacohen e8c59bf0e8 Evas textblock+font engine: Implemented evas_textblock_cursor_geometry_get.
Fixed evas_common_font_char_coords to work correctly with the NULL character in RTL text.

SVN revision: 51834
2010-09-02 11:49:00 +00:00
Tom Hacohen 5e433f1956 Evas bidi: Changed the design a bit so it'll be easy to implement async-rendering with it.
Fixed a couple of issues with unwanted cleans and generally data corruption.
Cleaned up async-rendering.

SVN revision: 51806
2010-09-01 13:15:04 +00:00
Carsten Haitzler 075531cc54 aaah... so.. if we have a fribidi lock.. shall we.. hmrrrm maybe use
it? and... lets not just throw pointer onto pipelines just for the
hell of it.. as like.. hmm the object owning the pointer might be
freed before pipelien finishes.. or hell. it might change pointer
contents? :) need to nwo dup bidi intl_props. probably a better plan..
tasn looking at you... is to fix up evas bidi utils and make the intl
props a new/free thing (and sharable eh?) with reference counts to
avoid dups (just ref up most of the time - and if u change, make a new
intl prop - dont change current one) etc. etc. for now dup - this
gives a perf hit tho. at least async rendering works now.



SVN revision: 51736
2010-08-30 03:21:15 +00:00
Tom Hacohen 7cd4d7cf4a Evas font: Renamed the parameter names in evas_common_font_query_kerning to be more correct. Adjusted font query and font draw according to the correct font_query_kerning behavior.
SVN revision: 51724
2010-08-29 12:44:58 +00:00
Tom Hacohen 26ecd94b4c Evas font: Fixed a couple of warnings and formatting issues.
SVN revision: 51656
2010-08-26 11:45:45 +00:00
Lucas De Marchi d8002ff386 Revert and re-apply badnull patch
Revert previous patch generated by badnull.cocci script, and apply the new one.
The main difference is that assert and assert-like functions are not touched
anymore.




SVN revision: 51650
2010-08-26 01:34:13 +00:00
Brett Nash 5ba73113af Do kerning correctly for word cache.
Technically this should speed it up a little.  That's a nice change for a bug
fix ;-)

SVN revision: 51607
2010-08-24 08:14:20 +00:00
Brett Nash 4939e163c7 Fix potential crash with word cache and RTL
SVN revision: 51606
2010-08-24 08:14:15 +00:00
Brett Nash e003086a5f Locking same for both font rendering + whitespace.
SVN revision: 51605
2010-08-24 08:14:10 +00:00
Brett Nash aeac043fdd Remove pointless test (it's the loop invariant).
SVN revision: 51604
2010-08-24 08:14:05 +00:00
Carsten Haitzler 079d796fbe trying to clean up ccpcheck complaints - but this one is just stupid?
makes zero sense. as such so far cppcheck has only found maybe 10% of
its grumbling and bitching as real bugs. shutting it up in some cases
is possible. in others it's possible BUT with a possible performance
penalty. that's unacceptable. wondering what to do.



SVN revision: 51557
2010-08-22 23:00:47 +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
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
Cedric BAIL c689865500 * evas: remove some warning.
SVN revision: 51281
2010-08-18 15:11:07 +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 05e8154f8b * evas: remove gradient and gradient2.
SVN revision: 51219
2010-08-16 15:14:49 +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 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
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 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 5e227d8d32 Evas: Updated Evas_BiDi docs.
SVN revision: 50966
2010-08-10 15:12:05 +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
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
Christopher Michael 3328859a0e Comment out dead assignment(s).
SVN revision: 50715
2010-07-31 07:13:21 +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
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
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
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
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
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
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 22e2ac921c Fic names of caching vars.
SVN revision: 49854
2010-06-25 08:52:37 +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
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