Commit Graph

876 Commits

Author SHA1 Message Date
Carsten Haitzler 82ea9859e8 fastpath for map that are... well.. not mapped.
SVN revision: 45574
2010-01-26 08:16:36 +00:00
Carsten Haitzler 5eadacbaf8 avoid recursion!
SVN revision: 45548
2010-01-25 11:04:32 +00:00
Vincent Torri 8d9d9ea3a3 fix warnings
patch by Albin Tonnerre


SVN revision: 45430
2010-01-22 06:51:27 +00:00
Carsten Haitzler 250496b0ea hunting bug in fglrx libs - make comment!
SVN revision: 45330
2010-01-19 14:29:20 +00:00
Cedric BAIL 6a0668110d * evas: Fix segv source by checking result before using it.
SVN revision: 45301
2010-01-18 20:04:21 +00:00
Carsten Haitzler 752a5bb7a4 add new check of in object list
SVN revision: 45284
2010-01-18 11:55:52 +00:00
Carsten Haitzler 6fab52157f map source api - nothing implemented. for future expansion.
SVN revision: 45281
2010-01-18 09:46:45 +00:00
Carsten Haitzler 04bcfb9245 improving multi-touch structs and code.
SVN revision: 45248
2010-01-17 08:52:21 +00:00
Carsten Haitzler 151515d816 initial multi-touch support.
SVN revision: 45212
2010-01-16 12:20:22 +00:00
Sebastian Dransfeld ef658ccd74 Fix wrong function names in doc
SVN revision: 45128
2010-01-14 20:52:57 +00:00
Cedric BAIL 5d754e74e7 * evas: Fix serious typos that could generate dead lock.
SVN revision: 45087
2010-01-13 19:57:59 +00:00
Carsten Haitzler 42f1294b17 patch from sehwan@samsung.com for small issues in evas/edje
SVN revision: 45055
2010-01-12 01:45:10 +00:00
Iván Briano 3b160b4354 So... this breaks Smarts ABI, rebuild everything after updating Evas.
This patch adds some stuff for smart callback description/instropection, which
is still untested but doesn't break anything that's out there now. Should help
with bindings later on.

Also some parenting guidelines for smart objects, so it's easier to spawn a
subclass out of another. Look at Box and Table for an example on this.

And again, rebuild everything that uses smart objects after this update, or
the world will turn into a happy place where lawyers are no longer needed...
and we don't want to upset the lawyers.


SVN revision: 45043
2010-01-11 14:24:41 +00:00
Carsten Haitzler ff86d27663 found divide by 0 in some circumstances -> fix.
SVN revision: 44932
2010-01-06 22:54:51 +00:00
Carsten Haitzler 89bbb2c031 for now - disable scissors.. seems to b0rk thungs
SVN revision: 44838
2010-01-01 07:51:18 +00:00
Carsten Haitzler fa435074e0 1. line support in gl engine - as if anyone uses lines
2. fix clipping for gl maps - was setting them when it shouldnt.



SVN revision: 44782
2009-12-30 11:35:40 +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
Gustavo Sverzut Barbieri 9f082cc1d4 stringify load errors.
SVN revision: 44660
2009-12-22 18:06:15 +00:00
Cedric BAIL 1b80e16253 * evas_object_textblock: Add some cast to reduce warning noise.
SVN revision: 44648
2009-12-22 12:09:36 +00:00
Iván Briano 83a91a9ab9 There's more here than just warning fixes, it's causing crashes with some uses of elm_entry. Noted in Editje.
SVN revision: 44639
2009-12-21 19:07:51 +00:00
Cedric BAIL 9dc9b03db9 * evas: Fix bug introduced in warning removal patch.
SVN revision: 44638
2009-12-21 18:26:36 +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 b83490725c * evas_font_dir: Add all guards.
SVN revision: 44446
2009-12-14 17:55:26 +00:00
Cedric BAIL 0ccf619ba0 * evas_font_dir: reduce use of FcFontSort by using cache as much as possible.
This reduce in EWeather the time spend in FcFontSort from 25% of the startup time
	to 1% with a small memory footprint increase.


SVN revision: 44444
2009-12-14 17:27:51 +00:00
Carsten Haitzler 2c7399ddfd add check magic code!
SVN revision: 44326
2009-12-10 02:26:50 +00:00
Cedric BAIL ef16ff6145 * evas: Do a proper fix for all rectangle match.
SVN revision: 44010
2009-11-27 09:51:08 +00:00
Cedric BAIL 4b44a59d2e * evas: Fix bug in evas_objects_in_rectangle_get.
SVN revision: 43999
2009-11-26 14:56:46 +00:00
Carsten Haitzler a70e666831 more debugging options...
SVN revision: 43920
2009-11-23 13:21:35 +00:00
Carsten Haitzler 87e5e70a9d fix anothe rmap draw bug.
SVN revision: 43917
2009-11-23 10:07:07 +00:00
Carsten Haitzler 8ce36a26c9 0x0 smarts will no be rendered again - well children will be... but its still
bad form to do this. oddly - the desktop panning in e does this. need to check.



SVN revision: 43799
2009-11-19 08:37:22 +00:00
Gustavo Sverzut Barbieri 8a668562b4 fix bug spotted by Brian Wang.
SVN revision: 43793
2009-11-19 00:38:34 +00:00
Iván Briano 1f33962f78 <glima> commit msg would be something like: "applying size recalcs on
childs in the case they have size hints for Evas_Object_Box'es.
        it was documented on the layouts api but never implemented"



SVN revision: 43745
2009-11-17 00:19:24 +00:00
Carsten Haitzler a6798a676f 1. if you stack above/below yourself.. you get lost as an obj! ignore
that case
2. add render debug #ifdef in evas_render.c and latent render debug stuff



SVN revision: 43706
2009-11-15 13:46:20 +00:00
Gustavo Sverzut Barbieri 8515fdc82b /me stuuuuuuuupid, spank spank spank... go test your code before commit :-D
SVN revision: 43613
2009-11-11 12:47:46 +00:00
Gustavo Sverzut Barbieri 3e08cf2e23 more evas_map utils, let's avoid duplicating these everywhere.
SVN revision: 43612
2009-11-11 12:33:52 +00:00
Carsten Haitzler dbfacc1acf aaag found the bugger. printf--
SVN revision: 43601
2009-11-10 09:10:59 +00:00
Carsten Haitzler e58124942d ok. i'm hunting the bug. yes! printf debuggin gets in! i want others to be
able to find it too.



SVN revision: 43600
2009-11-10 08:50:11 +00:00
Carsten Haitzler c88c587e66 printf--!
SVN revision: 43597
2009-11-09 23:48:26 +00:00
Carsten Haitzler 9af8993332 god damnt that took some time! fixed some bugs with map + smart objcs +
repainting etc. etc. - seems to be working now in complex smart obj tests and
simple ones.



SVN revision: 43584
2009-11-09 15:18:37 +00:00
Carsten Haitzler 2c44b7dd55 smart children of mapped objs etc. work work!
SVN revision: 43506
2009-11-07 05:01:43 +00:00
Carsten Haitzler 9b56603875 oops - infinite loopies
SVN revision: 43486
2009-11-06 10:30:24 +00:00
Carsten Haitzler eb732b80e0 return somethnig
SVN revision: 43485
2009-11-06 10:26:54 +00:00
Carsten Haitzler 948bb4a63e fix smart map redraw errors.
SVN revision: 43483
2009-11-06 08:44:49 +00:00
Carsten Haitzler 9791b27a18 map coords in mapped objects.
SVN revision: 43463
2009-11-05 15:24:48 +00:00
Carsten Haitzler 36a2d10682 fix mul! out of premul range!
SVN revision: 43446
2009-11-04 09:25:52 +00:00
Carsten Haitzler bd0541a0b0 and fix the dual geometry thing - use the clip cache for uv geometry. perfect!
SVN revision: 43432
2009-11-03 15:41:36 +00:00
Gustavo Sverzut Barbieri 3d77c82d15 immediately unset maps.
if we call evas_object_map_enable_set(o, 0) we expect things to go
back to normal immediately.



SVN revision: 43424
2009-11-02 15:58:48 +00:00
Carsten Haitzler 0007c51508 document map util calls
SVN revision: 43423
2009-11-02 15:43:51 +00:00
Carsten Haitzler f514e72be7 fix 3d util api. better now.
SVN revision: 43418
2009-11-02 12:20:50 +00:00
Carsten Haitzler 2510cad2f0 some more util calls for 3d goop. not 100% sure i like it atm, but.. here goes.
SVN revision: 43411
2009-11-02 08:52:23 +00:00
Carsten Haitzler 6f4db357dd i shoudl use join macro
SVN revision: 43385
2009-11-01 09:03:01 +00:00
Carsten Haitzler 069de70853 add color to the vertexes in map. this allows for fading/shading of
reflections, goraud shading for smooth 3d surfaces, mor realistic lighting
etc. etc. it comes at a small cost, but worth it.



SVN revision: 43384
2009-11-01 01:32:23 +00:00
Carsten Haitzler 1545cc226e more map work. now only re-render map surface if size changed or any contents
changed. still renders all, but better now. keeps map surfacer around for
shits and giggles until map unset or object deleted. als be able to set
smooth map and disable alpha (for smart objects)



SVN revision: 43362
2009-10-31 09:08:01 +00:00
Carsten Haitzler bb3824803c finally! smart objects work with map!
SVN revision: 43343
2009-10-30 10:11:15 +00:00
Carsten Haitzler 422faf09fd clean up map - move to #included worker and add mmx - just copied from normal
image scaler actually.



SVN revision: 43336
2009-10-29 06:52:51 +00:00
Carsten Haitzler 5cc7803ef9 the start of other objects being able to map! text objects work.. tested.
SVN revision: 43323
2009-10-28 08:59:01 +00:00
Carsten Haitzler 2168b2a57f fix statements
SVN revision: 43224
2009-10-23 06:48:22 +00:00
Vincent Torri e5046c8846 Fix some warnings. I don't touch map code for now.
SVN revision: 43218
2009-10-22 22:22:10 +00:00
Gustavo Sverzut Barbieri 6982f7b9c6 evas_map: more extensible and safe. add docs
change evas_map to return a structure that serves as an array of
points. This way we'll know for sure the number of points in it. Right
now it's hardcoded to 4, so check it, but in future we can just allow
more points and it should work.

added docs. I'm not sure about most of it, so it would be good to have
someone to review and fill in more, maybe that's raster? Grep for
"TODO" and you'll see the missing stuff. It would be good to add
examples in evas_map_point_coord_set() and
evas_map_point_image_uv_set()



SVN revision: 43211
2009-10-22 20:11:33 +00:00
Carsten Haitzler 7fce71c5d9 add some beginnigns of utility funcs to evas map. move it to its own file.
SVN revision: 43201
2009-10-22 15:47:30 +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 8bf3f50b2c map code... works.. with bugs... but works. visually...
SVN revision: 43163
2009-10-20 16:03:57 +00:00
Jonathan Atton 75303b4b5b Evas :The doc say "This function removes the most recently added callback", consequently we have te prepend the items
SVN revision: 43103
2009-10-15 20:50:15 +00:00
Carsten Haitzler 46996c95d3 mini-speedups!
SVN revision: 43037
2009-10-12 15:22:38 +00:00
Carsten Haitzler 0a036d1ec2 keep locks for less - ie not arorund a loop calling callbacks.
SVN revision: 43014
2009-10-11 06:57:23 +00:00
Iván Briano b1cc741a2d bigger clipper
SVN revision: 42984
2009-10-09 19:17:55 +00:00
Carsten Haitzler 94e5770212 dont retunr if invalid
SVN revision: 42976
2009-10-09 04:31:13 +00:00
Vincent Torri 506311faaa fix evas_init() when called several times but is failing
SVN revision: 42972
2009-10-08 21:17:21 +00:00
Carsten Haitzler c280f8610e add external api call to call smart calc calls on al smarts on a canvas
SVN revision: 42960
2009-10-08 14:28:21 +00:00
Vincent Torri 7902ce1bb7 simplify evas_init() and evas_shutdown() a bit
SVN revision: 42956
2009-10-08 06:25:09 +00:00
Cedric BAIL ef2d2ddfda * evas: Remove some llvm warning.
SVN revision: 42938
2009-10-07 12:47:01 +00:00
Iván Briano 1d3f50027a Added version and insert_after to box api
SVN revision: 42862
2009-10-02 19:06:12 +00:00
Vincent Torri b770510734 call engine info_free() after output_free()
SVN revision: 42830
2009-10-01 08:01:03 +00:00
Tom 39b6c9148c From: Tom <tom@stosb.com> (tasn)
Hey raster,

Here is the non intrusive patch I talked to you about. Please apply it as it
introduces some fixes, some improvements and mostly and underlying
infrastructure for future RTL improvements.

(note hebrew & yiddish seem fine, but things expedite test seems to show are
wrong (why i don't know as i dont speak the langs- just comparing to pango /
gtk output):

arabic seems lsightl wrong (maybe composition chars not working?)
gujarati - also seems wrong
malayam - also looks wrong
persian - looks wrong
sinhala - looks wrong
tamil - looks wrong

these are what, appear to me, to look wrong. why they look wrong, i don't
know. i'm guessing its compositiong not being handled. but i dont's peak,
read or write any of these languages so i am unsure of what it really should
be like, why and how to fix it.

anyone want to put up a hand? (everything else is displaying fine as best i
can tell - the langauges i read/speak/somewhat understand are working fine).



SVN revision: 42814
2009-09-30 04:23:21 +00:00
Iván Briano 0a546d1b78 Use align == -1 for fill, and don't fill if not requested.
SVN revision: 42780
2009-09-28 19:24:53 +00:00
Carsten Haitzler 526b6e8f3b and fix async load thing hanging around... put in shared queue and be able to
remove targets from the queue.



SVN revision: 42754
2009-09-28 03:51:21 +00:00
Vincent Torri c1b56b9cf1 revert. I didn't see that the .c files were included...
SVN revision: 42664
2009-09-24 06:01:59 +00:00
Vincent Torri 6677c2fcf9 fix double to Evas_Coord conversion warnings
SVN revision: 42662
2009-09-24 04:55:01 +00:00
Vincent Torri 454f2fadcb move declaration of variables at the beginning of the blocks
SVN revision: 42650
2009-09-23 17:15:18 +00:00
Vincent Torri ac44ab5449 move the gradient2 main structure in a specific header as it is also used in the linear and radial files
SVN revision: 42639
2009-09-23 06:37:08 +00:00
Vincent Torri 165a507ce2 move declaration of variables at the beginning of the block
SVN revision: 42627
2009-09-22 22:37:03 +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
Iván Briano 5c3b4fa74e Improve documentation for Evas, Ecore, Edje and Elementary.
Work by:
 - Thiago R. Masaki (mostly)
 - Fabiano Fidencio
 - Gustavo Lima


SVN revision: 42550
2009-09-17 22:38:10 +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
Vincent Torri 911ce19bfc fix build when async events are not enabled
SVN revision: 42273
2009-09-05 07:56:03 +00:00
Vincent Torri eaf9934e80 evas_init() fails if eina_init() or evas_async_events_init() fail
SVN revision: 42239
2009-09-04 05:41:20 +00:00
Vincent Torri ac3dae2a80 remove trailing spaces
SVN revision: 42238
2009-09-04 05:13:19 +00:00
Carsten Haitzler 1352efe452 1. make smart callback calling faster with == instead of strcmp
2. add linesize/line relsize for setting line sizes in textblock



SVN revision: 42231
2009-09-04 03:53:18 +00:00
Christopher Michael 26f32b9520 Return NULL to be consistent, not 0.
SVN revision: 41953
2009-08-24 10:52:40 +00:00
Carsten Haitzler 59f676f369 oh suncc - shut up!
SVN revision: 41873
2009-08-19 09:56:46 +00:00
Cedric BAIL b2d4ead502 * evas: Garbage is back for opaque window without background object.
SVN revision: 41773
2009-08-14 17:48:49 +00:00
Cedric BAIL 3d6840cd1a * evas: Fix two render bugs :
- Forgot to reset clip before drawing cleanup rect.
		- Always draw a rect to reset the background, just
		choose a correct color.

	Note: This will slow down software_x11 engine, as this engine
	always do memset, so it does it twice. Before only the alpha
	case was impacted, now both case are. Need time to fix it. If
	someone has, don't hesitate :-) You can use elementary windows
	state test, to see if thing is going correctly or not.

	For the record, SDL engine has a score around 500 under X11 on
	my computer, where the X11 engine does only have a score around
	450.


SVN revision: 41770
2009-08-14 17:17:01 +00:00
Gustavo Sverzut Barbieri 96001ff1a1 fix evas box flow layouts to consider padding.
By: Fabiano Fidêncio <fidencio@profusion.mobi>



SVN revision: 41739
2009-08-13 15:01:49 +00:00
Christopher Michael 53f359573e Fix placement of __UNUSED__
SVN revision: 41650
2009-08-09 19:07:03 +00:00
Christopher Michael a29767c572 Formatting
SVN revision: 41648
2009-08-09 16:41:51 +00:00
Christopher Michael 9261a4d24b Just Formatting. NO code changes.
SVN revision: 41636
2009-08-07 21:38:36 +00:00
Christopher Michael c508b00c24 evas_object_resize patch to move evas_object_recalc_clippees. This makes
evas_object_resize behave more like evas_object_move.

NB's added in case this causes glitches in corner cases



SVN revision: 41635
2009-08-07 20:35:30 +00:00
Cedric BAIL 940b7b0740 * evas: Return Eina_Bool when it make sense.
SVN revision: 41458
2009-07-20 15:33:10 +00:00
Gustavo Sverzut Barbieri 05f61cd086 fix uninitialized problems reported by valgrind.
SVN revision: 41316
2009-07-12 16:11:58 +00:00
Cedric BAIL a7f2974e13 * evas: break engine API !!!
Improvements: Now evas rendering loop is the one responsible to
	initialize the surface to 0 correctly (taking into account surface
	alpha and object opacity). This will reduce the number of memset
	we do.

	Note: Current software_x11 (xlib and xcb) are buggy. They are
	copying too much data when the surface use a mask. That's why
	two memset are left in their code. They could be removed, but
	we should fix the surface we copy on change (look at mxob user
	and evas_software_xlib_x_output_buffer_paste).


SVN revision: 41206
2009-06-26 13:26:52 +00:00
Cedric BAIL 0c9aead634 Evas_Rectangle are gone. We now use Eina_Rectangle and memory pool is
shared accross the application.


SVN revision: 41170
2009-06-23 13:57:27 +00:00
Gustavo Sverzut Barbieri 1c0ca5dfbb fix memory leak introduced with recent layer destruction.
also rename evas_layer_free() to evas_layer_free_objects() as what it
do now, make _evas_layer_free() as static and use it both cases.



SVN revision: 41123
2009-06-20 07:17:40 +00:00
Gustavo Sverzut Barbieri 37b3a62cde remove last trace of Evas_List, it's gone dude!
SVN revision: 41089
2009-06-17 18:12:55 +00:00
Cedric BAIL 6d0ee81526 * evas: Remove Evas_Bool.
SVN revision: 41067
2009-06-17 10:01:52 +00:00
Cedric BAIL 575b0579cd * evas: Move to Eina module and make it possible to build a libevas with
everything in it.

	Note: This patch break the module API, so make sure you recompile and install
	every thing.


SVN revision: 41055
2009-06-16 13:01:36 +00:00
Cedric BAIL fdca8644a2 * Evas: Add another delay before reducing number of unused font in the
cache.

	Note: This is usefull when you are scaling up and down a font during an
	animation.


SVN revision: 41049
2009-06-15 14:37:14 +00:00
Cedric BAIL 8cfa89c10f * Evas: Increase number of Evas_Rectangle in the pool as we use them a lot.
SVN revision: 41047
2009-06-15 14:33:48 +00:00
Cedric BAIL 14693fd070 * evas: Fix SEGV when smart object's child come from another layer than
the parent.

	When we insert object inside a smart object, they could be attached to
	another layer. As long as ref counting work, nothing wrong will happen.
	But during destruction of an Evas, we were just looping over all layers,
	destroying each of them, without checking for refcounting. This could
	cause SEGV.
	      This patch introduce a third loop for wiping out all layers after
	destroying all Evas_Object. So no more SEGV, and no performance
	regression.

	Note: Do not rely on evas_object_layer_get on smart object's child, it
	could give you the wrong answer.


SVN revision: 41046
2009-06-15 14:25:21 +00:00
Gustavo Sverzut Barbieri 600d560fc6 Cleanup llvm warnings.
By: michael bouchaud.


SVN revision: 41033
2009-06-14 20:48:37 +00:00
Gustavo Sverzut Barbieri 3e04e9ec3f cleanup llvm warnings by michael bouchaud.
By: michael bouchaud.


SVN revision: 41024
2009-06-13 00:04:25 +00:00
Carsten Haitzler f1ec8f8b3e fix precise-in
SVN revision: 40878
2009-06-03 14:16:55 +00:00
Carsten Haitzler 7c66538545 fix corer case with utf8
SVN revision: 40867
2009-05-31 21:26:36 +00:00
Carsten Haitzler c3b8b4ee14 revertg big R to L patches because they break cursors and selection.... BACK
boy BACK!



SVN revision: 40783
2009-05-22 21:12:32 +00:00
Andreas Volz 040492e46a some docs
SVN revision: 40779
2009-05-22 20:21:56 +00:00
Carsten Haitzler e999c88e80 tasn's rtl pathes and improvements... continued!
SVN revision: 40715
2009-05-18 06:08:15 +00:00
Carsten Haitzler 1d75ac114a make reload work properly...
SVN revision: 40670
2009-05-15 11:48:20 +00:00
Carsten Haitzler f5c88e9d53 fix a corner-case textblock issue with end of line char pos
SVN revision: 40640
2009-05-14 12:52:44 +00:00
Carsten Haitzler c830f68a06 1. fix scalecache to actually respect env vars set!
2. fix textblock cursor stuff in corner case.



SVN revision: 40617
2009-05-13 12:20:14 +00:00
Vincent Torri 84afbb853e fix EAPI value on Windows
SVN revision: 40597
2009-05-11 18:16:34 +00:00
Carsten Haitzler 26dea1fee7 dont dirty on loadopt change - cache handles that
SVN revision: 40583
2009-05-10 22:42:09 +00:00
Carsten Haitzler 47f6f036c1 fix load opts to only unload/reload if opts changed for cserve
SVN revision: 40573
2009-05-10 03:06:49 +00:00
Carsten Haitzler f79b4a4a2f 1. scalecache config env vars an use them
2. more api's related to cserve



SVN revision: 40548
2009-05-08 11:26:25 +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 b37f6643cf fix char-wrap min size calc!
SVN revision: 40522
2009-05-06 12:34:54 +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
Gustavo Sverzut Barbieri f783e3900d add missing "changed" flags.
SVN revision: 40409
2009-04-27 02:41:27 +00:00
Vincent Torri 7f98415206 add GDI engine.
todo: fullscreen and shape support


SVN revision: 40310
2009-04-23 03:20:51 +00:00
Carsten Haitzler 5399d14e78 limit init and fini to.. once!
SVN revision: 40261
2009-04-21 06:26:52 +00:00
Carsten Haitzler 38811d99c5 cleanup on shutdown better
SVN revision: 40242
2009-04-19 20:40:41 +00:00
Cedric BAIL 10a15524cc * evas: Finally remove as much free/malloc from the render path. Will need certainly
need some tunning on the number of Evas_Rectangle allocated in advance.


SVN revision: 40084
2009-04-15 13:40:37 +00:00
Gustavo Sverzut Barbieri 1a395af37d cedric I hate you :-)
remove last code using non-eina_mempool rectangles and abort() that
was triggering on clicks on titlebar.

Thanks to antognolli for reporting.



SVN revision: 40074
2009-04-15 03:14:41 +00:00
Gustavo Sverzut Barbieri 7468b45fbc export useful function.
SVN revision: 40065
2009-04-14 23:51:43 +00:00
Cedric BAIL 55e281b4ff * evas: Now all Evas_Rectangle are part of a pool. Next step would be to
remove free at the end of evas_object_render_pre_effect_updates and only
	do it on idle.


SVN revision: 40040
2009-04-14 12:15:07 +00:00
Cedric BAIL fa4c0f3ea3 * evas: Another attempt to fix clip cache. Now invalid clip cache every time
we change cur.geometry in the code (did a grep to locate this). I hope I did
	spot all users, as I didn't see bug in exec_buf, efm and in window title, I
	am confident enought to break svn again.

	* WARNING * This change can cause visual bug. Please report.



SVN revision: 40039
2009-04-14 10:47:15 +00:00
Cedric BAIL 0a662abf81 * evas: Oops, forgotten patch freeing without mempool.
SVN revision: 40038
2009-04-14 09:48:31 +00:00
Cedric BAIL d40e3ac01a * evas: Add a mempool. More speedup to come, depend on timing with "break" freeze.
SVN revision: 40037
2009-04-14 09:27:27 +00:00
Carsten Haitzler de96594bde revert - spotted clip bug in titlebar in e17.
SVN revision: 39966
2009-04-11 07:10:26 +00:00
Cedric BAIL d3a9b8307f * evas: This patch reintroduce the use of cache for clip. I don't know
why it was disable the first time, so it could lead to some graphic bug.
	Please report any strange behaviour.

	*WARNING* This could really introduce some visual bug.



SVN revision: 39940
2009-04-10 15:14:40 +00:00
Carsten Haitzler 481bde4366 raoul: patch to fix thml-escapes for textblock
SVN revision: 39914
2009-04-10 03:25:27 +00:00
Cedric BAIL df60ff6129 * evas: Make one more function inline.
SVN revision: 39894
2009-04-08 11:08:02 +00:00
Vincent Torri b61328192f API break (well, kind of...)
* evas_engine_info_set() returns now an int, to inform if
   an error occured or not when setting the info of the engine.
 * in the Evas_Func structure, the setup() method returns an int
 * all the engines are updated

I'll fix ecore_evas and ewl later (the compilation is still fine).

Gustavo: should I add EINA_WARN_UNUSED_RESULT at the end of the
evas_engine_info_set() function ?



SVN revision: 39670
2009-03-24 09:05:32 +00:00
Carsten Haitzler 19802a5705 leak--!
SVN revision: 39645
2009-03-23 10:02:26 +00:00
Cedric BAIL a01af7856b * evas_object_smart: Oops, the right test.
SVN revision: 39529
2009-03-17 17:56:06 +00:00
Cedric BAIL bdc54a6afd * evas_object_smart: Prevent adding a child from another Evas.
**** WARNING ****
	  E is bugged in some place, it does swallow object from another Evas in some place.
	With this patch, it will abort sooner. If you find situation where it abort, please
	report. This are nasty bug hidden in our code base. And yes, you will the white box
	of death, this is expected.



SVN revision: 39528
2009-03-17 17:45:37 +00:00
Carsten Haitzler 09176167bd more neon infra - just for "copies" right now. only 1 func filled in.
SVN revision: 39502
2009-03-16 10:50:37 +00:00
Viktor Kojouharov 2b196bcc54 --oopsie in the min size calc of the flow layouts
SVN revision: 39330
2009-03-02 13:47:50 +00:00
Viktor Kojouharov a5a7e167d9 more accurate min size calculation for flow layouts
SVN revision: 39310
2009-03-01 16:27:03 +00:00
Gustavo Sverzut Barbieri 87d5d0a037 Mark as changed when smooth scale flag changes.
This allows us to change to non-smooth on animations and then back to
smooth after animation is done.



SVN revision: 39300
2009-02-28 20:09:03 +00:00
Gustavo Sverzut Barbieri 071ad5b4aa minor optimizations to box recalculation.
just recalculate when required, and just mark as required when layout
really changes.



SVN revision: 39299
2009-02-28 20:04:55 +00:00
Viktor Kojouharov 999e7c9c54 size min hints for the flow layouts
SVN revision: 39297
2009-02-28 19:33:30 +00:00
Viktor Kojouharov 1b197b9542 it actually makes sense to have them overlap on justify, so go back
SVN revision: 39293
2009-02-28 18:06:37 +00:00
Viktor Kojouharov fee3b366bf and also for the vertical layout
SVN revision: 39291
2009-02-28 17:56:06 +00:00
Viktor Kojouharov 6554ab44d6 fix smaller-box-than-items problem for horizontal layout
SVN revision: 39289
2009-02-28 17:50:15 +00:00
Gustavo Sverzut Barbieri 0cd52d626b Fix flow layout if box size is smaller than required.
Reported and fix suggestion by Viktor Kojouharov.



SVN revision: 39286
2009-02-28 17:10:03 +00:00
Gustavo Sverzut Barbieri e46171ee07 box: remove unused parameters
SVN revision: 39285
2009-02-28 17:07:10 +00:00
Gustavo Sverzut Barbieri 56e28f91b6 Remove last standing warnings.
SVN revision: 39269
2009-02-27 16:35:32 +00:00
Gustavo Sverzut Barbieri 9a3570bfb9 Create macros to help initialize class structures.
also defined evas_smart_new() as deprecated.



SVN revision: 39266
2009-02-27 15:30:32 +00:00
Vincent Torri 7dd1e9e055 remove more 'unused parameter' warnings
SVN revision: 39223
2009-02-25 23:39:19 +00:00
Vincent Torri f344743dae fix some warnings reported by llvm (see http://local.profusion.mobi:8081/~lfelipe/output-efl/)
* mainly unused parameters
 * in src/lib/imaging/evas_imaging.c, set font to NULL
 * in src/lib/canvas/evas_object_gradient.c, add unititialized member

there are a *lot* of reported warnings by llvm, i'll fix them later

there are also *lots* of unused parameters (compile evas with -W). I'll
fix them later too



SVN revision: 39172
2009-02-24 08:31:31 +00:00
Carsten Haitzler 842cadce24 update debug code.
SVN revision: 39154
2009-02-23 07:21:37 +00:00
Cedric BAIL 720a9efe71 * evas_object_image.c: Remove a warning and return 1 as a success.
SVN revision: 39060
2009-02-17 17:36:29 +00:00
Carsten Haitzler 9062c9050a and support obscured rects for clip-out if middle of bordered image set to
solid. speedup.



SVN revision: 39051
2009-02-17 04:53:03 +00:00
Carsten Haitzler bda789960a fix minor bug in fill mode.
SVN revision: 39020
2009-02-15 02:53:24 +00:00
Cedric BAIL 630e5f1558 * evas/lib/canvas/evas_async_events.c: Use memset instead of PACKED.
SVN revision: 39003
2009-02-12 17:05:17 +00:00
Carsten Haitzler cb94c8fadd in theory - (not tested yet) allow hitns to set middle to solid of
borderscaling.



SVN revision: 39000
2009-02-12 13:38:33 +00:00
Cedric BAIL 166c76146d * evas/m4/ac_attribute.m4,
* evas/src/lib/canvas/evas_async_events.c: Fix long standing warning from valgrind.



SVN revision: 38996
2009-02-11 17:56:03 +00:00
Gustavo Sverzut Barbieri ad1af73d40 Do not inform callbacks that did not changed the state of object.
For some unknown reason evas was informing EVAS_CALLBACK_* even if the
original call did not changed the internal object state, that is, new
value is already equal to current value.

This is specially costly since Edje, Box, Table and possible other
layout engines will call evas_object_resize(), move(), show(), hide()
even if the state has not changed, assuming evas will ignore the call
(as it does). The real overhead might come if there are listeners
attached to these events, that in turn might do lots of other stuff,
leading to a torrent of useless calls.

I marked it for removal, please test it and uncomment '#define
CALLBACK_NOOPS' to get the old behavior back. It does seems to work
with e17 and edje_editor. If problems appear, let's try to fix the
real problem instead of getting this code back, it's a performance
penalty.



SVN revision: 38955
2009-02-05 14:37:58 +00:00
Gustavo Sverzut Barbieri a6e8f2cd36 Do not recalculate table/box if size does not really changed.
SVN revision: 38950
2009-02-05 12:38:04 +00:00
Cedric BAIL 5621e47f1c Correctly cancel each image object and not all at once.
SVN revision: 38658
2009-01-20 14:56:37 +00:00
Iván Briano 8d7855081a Make evas_object_table_smart_set static.
Makes no sense to export it when table is not meant to be inheritable.



SVN revision: 38516
2009-01-09 13:31:51 +00:00
Gustavo Sverzut Barbieri f4ccaaa15d Cancel preload if file a new file is set.
SVN revision: 38313
2008-12-23 23:15:53 +00:00
Gustavo Sverzut Barbieri aa3cd47bf2 oops, fix doc example.
SVN revision: 38267
2008-12-21 18:19:33 +00:00
Gustavo Sverzut Barbieri 089b1c7925 fix image preload signature and make it callback if already preloaded.
evas_object_image_preload() should not use object as const because it
will mdofiy the object state (so it's semantic makes more sense).

if data was already loaded, then callback before ignored it (return).



SVN revision: 38246
2008-12-20 13:39:15 +00:00
Vincent Torri c989841ab6 * src/modules/engines/direct3d/:
fast direct3d engine written by Dmitriy Mazovka. You rock !

 * m4/evas_check_engine.m:
 * m4/evas_check_loader.m4:
   use m4_popdef for each macro (otherwise, fail if aclocal is too old)

 * src/lib/canvas/evas_font_dir.c:
   include evas_common.h and evas_private.h after Eet.h and Evil.h
   so that EAPI is correctly defined



SVN revision: 38244
2008-12-20 13:22:46 +00:00
Gustavo Sverzut Barbieri 4821dcf1f8 always call image preloaded callback.
if image was already preloaded, inform user.

regular use case is to have image hidden, ask for preload and then
show image on callback, if there is no callback, image is never shown.



SVN revision: 38236
2008-12-19 21:56:31 +00:00
Iván Briano d413635b56 More proper fix for the infinite calculate in evas box.
SVN revision: 38205
2008-12-18 03:04:15 +00:00
Iván Briano 31658d4f1e Added iterator and accessor to box and table
SVN revision: 38203
2008-12-18 02:39:09 +00:00
Iván Briano 05af27f999 Guard box from getting into an infinite loop when calculating layout.
SVN revision: 38182
2008-12-17 14:10:09 +00:00
Carsten Haitzler 4b2fd7c5aa engine in list--
SVN revision: 38177
2008-12-17 08:24:09 +00:00
Iván Briano 140b0a9fca Add function to get the length in characters of a string
SVN revision: 38158
2008-12-15 22:03:04 +00:00
Gustavo Sverzut Barbieri 643624fe59 helper: evas_object_image_filled.
This helper will take care of applying fill property to match object size.



SVN revision: 38120
2008-12-12 22:36:47 +00:00
Gustavo Sverzut Barbieri 11d859481f Nasty bugfix: allow smart calculate to mark object as dirty again.
Wow, this was tricky to find since it is hard to trigger, thanks to
Canola complex edje files we could spot it!

In some cases we end with object being marked as dirty while
calculating its state (ie: edje), then we need to run smart calculate
again.

This has a drawback however: we cannot check for need_recalculate()
inside smart calculate anymore, we must assume it is only called if
the flag is set. To avoid that we could mark a shadow member and use
that or use a counter, that has the problem of using more data.




SVN revision: 38108
2008-12-11 21:55:22 +00:00
Gustavo Sverzut Barbieri 1d560a6229 better handling of unset image fill property.
Unset value is now 0x0 and this is handled as invalid, with an error message.

1x1 is a valid fill, but it is very slow and often system hangs while
it scale the whole thing... usually nobody want it at 1x1, we just end
using that for unset values. With unset value at 0x0 it will not
happen and we'll know when we forgot to do so!.



SVN revision: 38071
2008-12-09 22:46:57 +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
Cedric BAIL 9bdf013fa4 Better put pointer at the beginning of the structure.
SVN revision: 38065
2008-12-09 17:55:33 +00:00
Davide Andreoli d77abdd28b * Better size_hint calc for vertical and horiz layout, need to do the same for the other layouts
SVN revision: 38035
2008-12-09 00:02:48 +00:00
Vincent Torri c8bb3dc658 add cast
SVN revision: 37915
2008-12-03 17:59:39 +00:00
Vincent Torri 1457850b4f add cast
SVN revision: 37914
2008-12-03 17:58:26 +00:00
Vincent Torri a659951ced * use the m4 macro EVAS_CHECK_ENGINE to check if an engine is available or not
* group the want_* variables related to engines and loaders at the beginning
   of configure.ac
 * use -no-undefined directly instead of a flag checked wrt the host
 * some clean up in Makefile.am files

Please report any problem


SVN revision: 37784
2008-11-24 06:18:31 +00:00
Davide Andreoli 49daa74741 * call the smart_changed function
SVN revision: 37762
2008-11-23 03:27:28 +00:00
Davide Andreoli bb2cc93ebc * add the function:
Evas_Bool evas_object_box_remove_all(Evas_Object *o, Evas_Bool clear);
* set min size hint on layout (flow layouts not done yet)


SVN revision: 37758
2008-11-23 02:01:38 +00:00
Gustavo Sverzut Barbieri 71f9ed1fc3 Fix size hint docs and improve them.
SVN revision: 37716
2008-11-20 03:02:27 +00:00
Gustavo Sverzut Barbieri c47275f609 add missing evas_object_smart_changed()
SVN revision: 37714
2008-11-19 12:20:20 +00:00
Gustavo Sverzut Barbieri 9ede53480f minor optimization for box remove_at.
use eina_list_nth_list() so we can cut search time up to half, as eina
list can look backwards if position is close to list end.



SVN revision: 37692
2008-11-17 14:20:08 +00:00
Carsten Haitzler 3e2108728f and only remove markup if we have a style...
SVN revision: 37661
2008-11-15 13:57:37 +00:00
Carsten Haitzler 7e6fb27b4c make scale set apply immediately on objects that do scaling...
SVN revision: 37656
2008-11-15 10:39:46 +00:00
Carsten Haitzler fec072d883 fix some formatting/indenting and explicitly look at mouse_down as a counter.
SVN revision: 37650
2008-11-15 05:13:09 +00:00
Gustavo Sverzut Barbieri 4e108162aa make it easy to write bindings for box.
giving an extra void *user_data to layout function is now easy to
write bindings, just give the callback to be a generic function that
will call the language/binding specific function handled as user_data.

Example, for python we can use:

   void _layout_dispatcher(Evas_Object *o, Evas_Object_Box_Data *priv, void *data) {
       PyObject *pyobj = data, *args;

       args = PyTyple_New(1);
       PyTuple_SET_ITEM(args, 0, Evas_object_from_instance(o));
       PyObject_Call(pyobj, args, NULL);
       Py_DECREF(args);
   }

   evas_object_box_layout_set(o, _layout_dispatcher, pyobj, Py_DecRef);


SVN revision: 37640
2008-11-14 23:10:29 +00:00