Commit Graph

245 Commits

Author SHA1 Message Date
Brett Nash aa59164001 Support for Proxy Objects (and others)
Proxy objects allow you to use another image as the source of an image.
Essentially allowing the same object to be rendered multiple times.  One
object (the source) is the original, each additional 'copy' is an image with
evas_object_image_source_set.

This is complete.

Also add partially working arbitrary maps, and arbitrary clipping.
Unfortunately both have some issues yet to be resolved (waiting on the next
feature to get merged together).

SVN revision: 56777
2011-02-06 23:52:17 +00:00
Tom Hacohen 4ee6706770 Evas font-engine: cache harfbuzz's face.
SVN revision: 56466
2011-01-30 10:37:52 +00:00
Tom Hacohen ff18fa8399 Evas: Multiple changes that all relate to the Harfbuzz integration:
1. Started feeding Evas_Text_Props to the font engine instead of Evas_BiDi_Props because no we have more general text properties as well - i.e, OpenType stuff.
2. Full Harfbuzz integration which gets compiled in by default (if harfbuzz is present) but only works if the environment variable EVAS_USE_OT is set to 1 (because OT is way slower than regular text rendering).
3. Cleaned the font querying/drawing functions.
4. Added font_shaped function to all of the engines, which by default calls teh harfbuzz stuff (default on linux that is).
5. Moved some source files around a bit to make more sense.

SVN revision: 56455
2011-01-30 10:36:39 +00:00
Tom Hacohen 7e376019b7 Evas font-engine: Moved bidi utils (and added script utils) to a subdir language that collects all the language specific adjustments to font handling.
SVN revision: 56446
2011-01-30 10:35:37 +00:00
Carsten Haitzler 1b89a7ac5f change map points to use double and floats to reduce perspective
correction adjustment seams in gl engine. almost all gone.



SVN revision: 56180
2011-01-16 07:49:49 +00:00
Carsten Haitzler 6502ea96ea hve to revert these commits. they hve created a whole chunk of 64bit
crashes on linux. this is REALLY bad. so remove these changes now.



SVN revision: 55981
2011-01-07 15:56:54 +00:00
Vincent Torri 72128a6ae3 typo
SVN revision: 55971
2011-01-07 06:51:55 +00:00
Vincent Torri fe85acc06d use configure-time headers checks instead of compiler ones
SVN revision: 55970
2011-01-07 06:48:33 +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 d3cd14c805 lockdebug - be able to find mutexes that lock for a while... but.. i
found what was blocking.. and it wasnt a mutex! well.. put this in for
further debugging later.



SVN revision: 55544
2010-12-14 05:41:32 +00:00
Brett Nash ee03254a3e Be more aggresive turning on neon, and don't include arm_neon.h
The arm_neon header is for the Neon intrinsics.
Since we use inline asm, we don't need any of that stuff.
Also we set neon to be on if your compiler accepts it (and it's a arm).
So more people may get neon builds.

SVN revision: 55312
2010-12-06 02:20:31 +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
Eduardo de Barros Lima f61a1cb5cb Evas: Don't #define _GNU_SOURCE
Instead use AC_GNU_SOURCE macro in configure.ac and #include <config.h> properly


SVN revision: 53159
2010-10-07 19:52:47 +00:00
Carsten Haitzler 011b2ce822 brutally evil... internally.. but it works. map perspective correct
now in gl engine. hooray for that. one complaint less.



SVN revision: 52566
2010-09-22 06:52:28 +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
Carsten Haitzler 679d566fde actually revert that - not enough testing. need to work on it.
SVN revision: 52029
2010-09-09 06:36:01 +00:00
Carsten Haitzler 4975395633 major clean of the preload stuff. leaks. bugs. nastinessesssss...
SVN revision: 52028
2010-09-09 06:31:29 +00:00
Carsten Haitzler 360fb6511a make priority of thread drop linux only - fallback.
SVN revision: 51886
2010-09-04 14:34:23 +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 26ecd94b4c Evas font: Fixed a couple of warnings and formatting issues.
SVN revision: 51656
2010-08-26 11:45:45 +00:00
Cedric BAIL 05e8154f8b * evas: remove gradient and gradient2.
SVN revision: 51219
2010-08-16 15:14:49 +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
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 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
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
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 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
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
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
Carsten Haitzler c0baeaeb68 1. fix fcfini issue i hit - yes . things may look like they leak in valgrind
- they dont. in reality.
2. major text rendeering speedups. up to 41% in textblock intl, 33% in
textblock basic, 12-20$ in other text rendering tests. generic eina hash's
are just tooo slow for what we are doing there. specialised "Fash"
blocked-array.
3. still LOTS of optimisations left.



SVN revision: 45829
2010-02-03 11:18:00 +00:00
Vincent Torri 20d5a675db * undef close() and open() in evas_module also for mingw
* init Evil in eina as it uses fcntl() with the winsock2 library
 * fix compilation of evas_cache_image.c with mingw
 * formatting


SVN revision: 45724
2010-01-30 00:09:29 +00:00
Gustavo Sverzut Barbieri 51c00c6526 fix evas image loading error reporting.
Evas image load was always reporint "generic" error, since it was
disconnected from actual loader modules.

This commit will break the module loader API (as it's restricted to
inside Evas, this should be no problem). The return was turned into
"Eina_Bool" for clarity, while an extra "int *error" is responsible to
report errors. This approach was choosen to force compiler warnings
and to try avoid mistakes as EINA_FALSE == EVAS_LOAD_ERROR_NONE and
thus we'd get opposite behavior if something slips.

Most loaders play well, except by eet that does not provide means to
know if the file open failed due missing file, incorrect format or
corrupted file :-(

Please report any issues. I added eina_log debugging to loader
functions, just run your Evas application as:

     EINA_LOG_LEVELS=evas_main:4 your_app




SVN revision: 44666
2009-12-22 23:11:57 +00:00
Cedric BAIL bd60dfd40e * evas: Fix build when pipe rendering is disabled.
SVN revision: 44651
2009-12-22 12:58:07 +00:00
Cedric BAIL a27c701f27 * evas: Remove lot's of warning.
SVN revision: 44629
2009-12-21 15:52:12 +00:00
Cedric BAIL b0ffd95878 * evas: Complete rewrite of evas image preload code.
This code should be cleaner and easier to understand. It also provides
	the ability to spread image decompression on all CPU core. I currently
	set it to the exact number of CPU core you have in your machine, if you
	find case where it slow down your EFL apps too much, we can reduce this
	to give at least one core to evas.
	   All previous bugs related with async preload are gone, hopefully no
	new one are in. Please report any problem with backtrace to me.


SVN revision: 44537
2009-12-18 11:03:31 +00:00
Cedric BAIL a82d161c27 * evas_cache_image: Attempt to make a definitiv fix for race condition on cancel.
WARNING: If you continue to see any segv in E17, please report to me with a backtrace. Thanks.


SVN revision: 43465
2009-11-05 17:38:51 +00:00
Cedric BAIL 8984a75799 * evas: Cleanup move to eina log.
Patch from Mathieu Taillefumier.


SVN revision: 43200
2009-10-22 15:22:22 +00:00
Carsten Haitzler c50ea6b1c8 map image... not used yet.
SVN revision: 43131
2009-10-17 10:25:51 +00:00
Carsten Haitzler 37b66e806b new gl engine. no one uses it anyway. not 100% complete, but much better than
the old. and it ALSO does GLES2.0 as well asn GL.



SVN revision: 42982
2009-10-09 12:10:27 +00:00
Carsten Haitzler 58fc0273fe account for padding too for too-big
SVN revision: 42678
2009-09-24 14:44:05 +00:00
Vincent Torri f12c2099d4 * export _evas_log_dom_global as it can be used in modules
* don't include non microsoft header files when vc++ is used
 * declare alloca before standard C header files
 * minor formatting

SVN revision: 42663
2009-09-24 05:10:49 +00:00
Carsten Haitzler 85c9ee14e1 and much pain and ganshing of teeth.. this took too long... no more hanging
preload cancels. u can cancel a preload (explicitly or implicitly) with no
lock penalty. now i can get on with my other fun.



SVN revision: 42616
2009-09-22 07:02:14 +00:00
Cedric BAIL c259d8addd * evas: Use eina_log.
Patch from Matthieu.


SVN revision: 42598
2009-09-21 16:08:51 +00:00
Gustavo Sverzut Barbieri 8e56bad0e6 dunno what's this crazy math, but it overflows on 64 bits... ensure it's unsigned long long...
SVN revision: 42523
2009-09-16 19:20:26 +00:00
Carsten Haitzler 65f147aa81 make loaders use "big image" macro to detect an image that is going to just
be way too big to ever allocate. probably code can do with other fixes too.

also make jpeg loader rudametarily understand load regions. very brute-force.
but enough for just this moment to do testing.



SVN revision: 42507
2009-09-16 09:48:05 +00:00
Carsten Haitzler f780cc2c8f add "region" load opt. no loader handles it... yet
SVN revision: 42494
2009-09-15 13:34:12 +00:00
Carsten Haitzler 7ee7fb5604 1. make max image size a #define
2. max image size > 65536x65536
3. fix cserve leak
4. fix cserve+async load to work together.



SVN revision: 42406
2009-09-11 13:44:53 +00:00
Cedric BAIL 5784d74daa * eina: Add eina_cpu_count.
SVN revision: 41543
2009-07-30 16:45:15 +00:00
Carsten Haitzler d6a6cc63e8 cserve for evas now has a threaded loader - much better when multiple clients
aare hammering it with load requests



SVN revision: 41293
2009-07-10 06:52:09 +00:00
Vincent Torri 4c09519e99 remove trailing spaces
SVN revision: 41191
2009-06-25 04:20:34 +00:00
Cedric BAIL 5d0a773fef * evas: Use Eina hash improvements.
SVN revision: 41101
2009-06-18 12:14:29 +00:00
Cedric BAIL 6d0ee81526 * evas: Remove Evas_Bool.
SVN revision: 41067
2009-06-17 10:01:52 +00:00
Cedric BAIL 0839ec65ea * Evas: Improve RGBA_Font_* cache using hash and stringshare correctly.
Note: This should not impact font rendering, but if you notice anything
	wrong, please don't hesitate to report this to me.


SVN revision: 41050
2009-06-15 15:07:13 +00:00
Carsten Haitzler 5b7c1be3eb fix a strange issue with re-connect after explicit disconnect to cserve
SVN revision: 40587
2009-05-11 13:09:43 +00:00
Carsten Haitzler 85bff718d6 1. scale cache now allows you to hint at the object if its dynamic, static or
none (ie default) and the engines actually understand it and use it.
2. fixes to scalecache and cserver too. more toto's done and its now been
stress tested by me - and i think cserve is ready to go gold. just enable it
with export EVAS_CSERVE=1 in your env for any eflapps - and run evas_cserve
(cmd-line options avalable plus cmd-line tol to query settings change on the
fly and query statsitics and state)



SVN revision: 40536
2009-05-07 13:29:56 +00:00
Carsten Haitzler 46e8aa1b0d shared cache server++
is it ok?

1. it can be --disabled in evas's configure, but i think it works WITHOUT
disabling it (runtime) as it falls back to the old way of loading
2. it may cause build problems on some platforms - without it being enabled
we won't find out, so enable.
3. it needs enabling runtime to make use of it so it should be safe for now
until you enable it.

what is it?

it is a SHARED cache server - that means images loaded are loaded BY the
cache server (not by the actual process using evas). images are shared via
shared memory segments (shm_open + mmap). this means only 1 copy is in all
ram at any time - no matter how many processes need it , and its only loaded
once. also if another app has already loaded the same data - and its in the
cache or active hash, then another process needing the same stuff will avoid
the loads as it will just get instant replies from the cache of "image already
there". as it runs in its own process it can also time-out images from the
cache too.

right now you enable it by doing 2 things

1. run evas_cserve (it has cmd-line options to configure cache etc.
2. export EVAS_CSERVE=1 (im the environment of apps that should use the cache
server).

it works (for me) without crashes or problems. except for the following:

1. preloading doesnt work so its disabled if cserve is enabled. thisis
because the load threads interfere withthe unix comms socket causing
problems. this need to really change and have the cserve know about/do
preload and let the select() on the evas async events fd listen for the
unsolicited reply "load done". but it's not broken - simple preloads are
syncronous and forced if cserve is enabled (at build time).
2. if cserve is killed/crashes every app using it will have a bad day. baaad
day. so dont do it. also cserve may be vulnerable to apps crashing on it - it
may also exit with sigpipe. this needs fixing.
3. if the apps load using relative paths - this will break as it doesnt
account for the CWD of the client currently. will be fixed.
4. no way to change cache config runtime (yet)
5. no way to get internal cache state (yet).
6. if cache server exist - it wont clean up the shmem file nodes in /dev/shm
- it will clean on restart (remove the old junk). this needs fixing.

if you fine other issues - let me know.

things for the future:

1. now its a separate server.. the server could do async http etc. loads too
2. as a server it could monitor history of usage of files and images and
auto-pre-load files it knows historically are loaded then whose data is 
immediately accessed.
3. the same infra could be used to share font loads (freetype and/or 
fontconfig data).
4. ultimately being able to share rendered font glyphs will help a lot too.
5. it could, on its own, monitor "free memory" and when free memory runs
load, reduce cache size dynamically. (improving low memory situations).
6. it should get a gui to query cache state/contents and display visually.
this would be awesome to have a list of thumbnails that show whats in the
cache, how many referencesa they have, last active timestamps etc.

blah blah.

please let me know if the build is broken asap though as i will vanish
offline for a bit in about 24hrs...



SVN revision: 40478
2009-05-01 07:11:07 +00:00
Carsten Haitzler e0a8a97b6d now enough logic to know when to unload original... now just need to make
unloaidng possible without instant-reload.



SVN revision: 39742
2009-03-27 03:50:03 +00:00
Carsten Haitzler 1a224311d6 make pipe renderer separate to thread support - off by default.
SVN revision: 39740
2009-03-27 01:48:58 +00:00
Carsten Haitzler 29216b4a78 for now... enable scalecache. i havent seen it crash e or expedite or
elementary nor leak... so .. let's see. not 100% done yet. but good.



SVN revision: 39724
2009-03-26 12:47:44 +00:00
Carsten Haitzler a3f68ea9d9 1. a bunch of neon asm infra and some asm, but only the neon that works is
enabled. the blending is not working/complete. the neon for fills and copies
isnt actually faster though currently :(
2. scalecache infra - disabled for now. working on it.



SVN revision: 39723
2009-03-26 07:14:08 +00:00
Carsten Haitzler eba0aaffd6 preliminary neon asm support. do NOT use!
SVN revision: 39474
2009-03-14 06:48:25 +00:00
Carsten Haitzler 6bc4266805 patch from Tiago Falcão - unroll loops in evas a bit.
SVN revision: 39467
2009-03-13 15:18:39 +00:00
Cedric BAIL b70ae3c927 * evas/src/lib/include/evas_common.h,
* evas/src/lib/engines/common/evas_font.h,
	* evas/src/lib/engines/common/evas_font_draw.c,
	* evas/src/lib/engines/common/evas_font_load.c,
	* evas/src/lib/engines/common/evas_font_query.c: Add cache for font kerning.

This patch give something around 2% for all tests around text in expedite,
except for Textblock Intl where it give a 3 times boost.

Regarding text rendering speed, something is strange when used by evas_pipe.
All tests using Styles are around 40% faster without evas_pipe. 30% faster
for Text Change. But Text Basic 7% slower. So it should be possible to have
faster rendering when using evas_pipe for font rendering.


SVN revision: 38993
2009-02-10 15:53:17 +00:00
Cedric BAIL 011bc06ecc * evas/src/lib/cache/evas_cache_image.c,
* evas/src/lib/include/evas_common.h: Now you should receive a async call for each image object that does async preload.


SVN revision: 38643
2009-01-19 14:06:09 +00:00
Gustavo Sverzut Barbieri 68bd5fb68b Possible last try to fix async imagre preload race conditions.
1 - use inlist as regular list uses non-thread safe mempool;
 2 - lock around image loading, so if main thread requests pixels right
     before worker thread is loading them, you don't get ie->info.module
     to NULL while it would be used (triggered from engines/common).
     Maybe this should be handled by a global mutex elsewhere instead of
     per-image mutex, but it has more granularity now.
 3 - emit "preloaded" callback if it was canceled to be loaded from main
     thread.

Please someone review these changes.



SVN revision: 38312
2008-12-23 23:07:48 +00:00
Cedric BAIL 2b278b9419 Remove use of evas_hash from evas and use directly eina.
SVN revision: 38066
2008-12-09 17:56:31 +00:00
Carsten Haitzler a2cd677cdc ok - revert scalecache until leak fixed.
SVN revision: 37899
2008-12-02 02:33:09 +00:00
Carsten Haitzler 72c25fd2fc quick - evas scalecache put this in svn do i dont lose my patch. i'll revert
and work on gettign the leak fixed.



SVN revision: 37898
2008-12-02 02:32:22 +00:00
Carsten Haitzler 9705e3c741 hmmm after some talking - for now put the transform patch on hold - we need
tyo fix up some of these breaks first and there isn't a lot of time devoted
to this. so revert this. it's in svn history so we can dig it out any time we
like.



SVN revision: 37453
2008-11-04 09:19:35 +00:00
Carsten Haitzler 3e984fee34 jose's transform patches. some things to note:
1. nearest scaling is now broken - it's always linear interpolation. this
will lead to slowdowns. i need to fix this - a must.
2. i think it's time i put in a transformed image cache that can cache an
image object at a transform (and share it) automatically.
3. transforms in non-software-engines will not work - broken. need to at
least do xrender and gl engines.

any volunteers to help?



SVN revision: 37447
2008-11-03 22:50:54 +00:00
Sebastian Dransfeld 88c695c2ad Only unix should depend on signal.h
SVN revision: 37043
2008-10-24 06:49:44 +00:00
Cedric BAIL 465b76a017 Remove Evas_List from Evas.
SVN revision: 36942
2008-10-21 16:31:05 +00:00
Cedric BAIL c99824328f Move from Evas_Object_List to Eina_Inlist and completly remove Evas_Object_List.
SVN revision: 36750
2008-10-17 11:23:18 +00:00
Cedric BAIL 5b87d765b6 Fix for CPU_* use with evas_pipe.c.
SVN revision: 36673
2008-10-15 14:25:27 +00:00
Cedric BAIL bd2c5d6648 Add image preloading support.
This should work without performance impact for all engine.


SVN revision: 36018
2008-09-16 14:52:57 +00:00
Carsten Haitzler c1fe72d7e4 jose has some new gradient work - these are his patches. nice work joseg! yes
- some enignes break as they dont have the stubbed out functions, and
xrender/gl engines dont even implement the drawing and need to (but are
stubbed out).



SVN revision: 35677
2008-08-26 05:45:04 +00:00
doursse 9c58ab7087 * move blend functions declaration to their own header files
* add vim header


SVN revision: 35182
2008-07-21 16:10:48 +00:00
doursse 60391e746d * move draw functions declaration to their own file
* add missing headers


SVN revision: 35181
2008-07-21 15:52:09 +00:00
doursse 3f28e61186 * move image declaration funtions to their own header file
* add vim header


SVN revision: 35173
2008-07-19 18:32:32 +00:00
doursse 83c733fbf7 * move line, polygon, rectangle API to their own files
* add vim header


SVN revision: 35172
2008-07-19 18:05:54 +00:00
doursse 261189e2e2 * move font and gradient declarations to their own files
* add vim headers
 * remove some trailing spaces


SVN revision: 35170
2008-07-19 17:13:42 +00:00
doursse 0fd75a462a move pipe function declarations to their own file
SVN revision: 35064
2008-07-11 08:21:25 +00:00
doursse 493eb069a3 * remove trailing spaces in evas_pipe.c
* move scale function declarations to their own files


SVN revision: 35063
2008-07-11 06:36:30 +00:00
doursse 739be5c6b7 move evas_convert_main.h to evas_common.h
SVN revision: 35062
2008-07-11 05:50:56 +00:00
doursse 2679ced73b move evas_object_list declaration from evas_common.h to Evas_Data.h
SVN revision: 35061
2008-07-11 05:42:44 +00:00
doursse fb9313c024 * move convert function declarations to their own header file
* add vim header in the files I modified
 * fix minor warnings

i think i don't break compilation on that commit :)


SVN revision: 35058
2008-07-10 22:53:33 +00:00
doursse 9b35bc26f3 * move evas_mempool from main.c to it's own file in data/ as it's only
used by evas_list
 * add a header files for evas_cache, evas_path and evas_module
 * remove trailing spaces in evas_list.c


SVN revision: 35052
2008-07-10 16:38:54 +00:00
doursse 993697fec7 * move _Evas_Object_List and _Evas_Hash structures to Evas_Data.h
* move Evas_Array_Hash and Evas_Object_List declarations to Evas_Data.h
 * move evas_array_hash.c from engines/common/ to data/
 * remove Evas_Array_Double_Hash declaration (not used)


SVN revision: 35042
2008-07-09 16:50:33 +00:00
doursse a9e090a81b * move Evas_Hash_El from evas_common.h to evas_hash.c as
it is not used outside evas_hash.c
 * move data types api from Evas.h to Evas_Data.h


SVN revision: 34974
2008-07-02 04:44:38 +00:00
Cedric BAIL d102e3db82 * Make RGBA_IMAGE_HAS_ALPHA and RGBA_IMAGE_ALPHA_SPARSE part of
Image_Entry flag structure. This fix a bug with 16 bpp software engine.

        * Change image loader module API to take any Image_Entry. Same goes
        for evas_common_image_premul and evas_common_image_set_alpha_sparse.

        * Use new eet API: eet_data_image_read_to_surface.


SVN revision: 34728
2008-06-03 09:09:39 +00:00
Cedric BAIL 0c85857e57 Fix a typo.
SVN revision: 34701
2008-05-30 13:55:51 +00:00
Cedric BAIL 0ca6c0a0bb Add a private data member to cache image structure.
SVN revision: 34700
2008-05-30 13:33:40 +00:00
doursse 7f47953b78 missing EAPI in front of evas_common_gradient_geometer_get()
other gradient related functions (lines 1138 - 1143) seem to
be used only internally. Maybe we should move them elsewhere.


SVN revision: 34694
2008-05-30 05:56:53 +00:00
doursse 37eed61ee8 put unistd.h after sys/types.h. Seems to be needed for vc++. Thanks to Dmitriy Mazovka
SVN revision: 34691
2008-05-29 05:48:16 +00:00
doursse 5ce3b6752b fix compilation with a c++ compiler, add EAPI in front of all cache function declarations
SVN revision: 34659
2008-05-24 18:26:51 +00:00
Gustavo Sverzut Barbieri a4ed92a1a5 Remove bugs with bitfield usage, make boolean usage clear.
This patch fixes the problem with bitfield of signed types (ie: char),
where the bit would be used for the signal, so 1 is considered -0 and
thus 0.

Move all the single bit fields to Evas_Bool, making it clear and also
avoiding these problems since Evas_Bool is unsigned char.


SVN revision: 34631
2008-05-20 20:56:39 +00:00
Carsten Haitzler 5887bde860 colorspace stuff in cvs.
SVN revision: 34604
2008-05-19 03:13:16 +00:00
Cedric BAIL 5f41def624 Only call the allocation surface when required and correctly handle no_free.
SVN revision: 34480
2008-05-06 11:20:29 +00:00