Commit Graph

172 Commits

Author SHA1 Message Date
Tom Hacohen 79c580c65e Revert "evas: work around text/textblock bug rendering outside of rendering zone."
This reverts commit 58156

SVN revision: 58180
2011-03-29 13:52:08 +00:00
Cedric BAIL bcc8abe6fe evas: work around text/textblock bug rendering outside of rendering zone.
This fix is temporary and waiting for Tasn to look at the proper fix. It will
be removed once that done.


SVN revision: 58156
2011-03-28 14:32:03 +00:00
Cedric BAIL 5842ce6070 evas: fixed the last issue with clipping.
SVN revision: 58035
2011-03-23 15:50:02 +00:00
Cedric BAIL 2b3ee3f630 evas: hopefully the last clip bug fix.
If no one see breakage due to this, I will backport all of them in two days.


SVN revision: 57934
2011-03-21 15:18:26 +00:00
Cedric BAIL 564526ef38 evas: probably another needed patch for clipping issue with map.
No need to update ChangeLog as it is the part of yesterday patch.


SVN revision: 57800
2011-03-16 13:59:13 +00:00
Cedric BAIL 4b5b0d479f evas: this will fix some clipping issue with map.
This patch should be backported if it work well. Need more tester.
It doesn't fix a missing del detection in enki and elementary_test transit 4.


SVN revision: 57765
2011-03-15 16:20:57 +00:00
Carsten Haitzler aaad5f7319 fix most of nash's mess. 2 added aborts that nash has to fix.
SVN revision: 56891
2011-02-10 06:52:53 +00:00
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
Brett Nash ab4b1521ac Fix redrawing issues with proxies.
SVN revision: 56775
2011-02-06 23:51:48 +00:00
Brett Nash 644c43460c Switch to a sub proxy sstructure.
SVN revision: 56763
2011-02-06 23:50:19 +00:00
Carsten Haitzler 725e7cd0d7 protect against people providing out-of-bounds u&v coords in map.
SVN revision: 56313
2011-01-27 02:59:49 +00:00
Carsten Haitzler 7957334611 fix over-render bug in map/mapbuf and with changed flags! that was
nasty to find!



SVN revision: 56220
2011-01-19 11:59:53 +00:00
Carsten Haitzler e7b6e7beb4 and reduce error more by making coords fp/double.
SVN revision: 56181
2011-01-16 08:03:28 +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
Atton Jonathan aa2733a4ba fix evas map bug -
From: Atton Jonathan <jonathan.atton@gmail.com>
Subject: Re: [E-devel] Evas map and the attribute "color" and clip

Here a application. The test here is a bit different from the case in my
appliaction.

I have :
- 1 gengrid
- 1 elm layout as icon in the grid item
- a edje group swallowed in the elm layout. This group has a rotation.
It is
a red rectangle.

When I select the item :
- if no map : the rectangle disappear because the grid item add a
rectangle
in front of the red rectangle.
- if map : only a part of the red rectangle disappear. If I resize the
window sometime the rectangle disappear, sometimes a part appear.

2 screenshots are in the archive.

:)
that one.



SVN revision: 55927
2011-01-06 08:02:37 +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
Cedric BAIL 921c1a8c87 * evas: force the update to only affect the currently processed area.
WARNING: PLEASE REVIEW THAT PATCH !


SVN revision: 53402
2010-10-14 14:41:13 +00:00
Carsten Haitzler 197fa433cb fix clip bug.
SVN revision: 53261
2010-10-11 09:53:52 +00:00
Cedric BAIL 801917565f * evas: fix rendering of object with color (*,*,*,0)
and render_op != BLEND.


SVN revision: 52782
2010-09-26 16:10:59 +00:00
Carsten Haitzler 9e7bc3f53e wooo overzealous commenting. fix. better now.
SVN revision: 52734
2010-09-25 14:46:10 +00:00
Carsten Haitzler 0e2ec32263 working on debug. doesn't affect anything atm.
SVN revision: 52733
2010-09-25 14:30:02 +00:00
Carsten Haitzler 348f454537 well that improves map a bit! less overdraw! :) and 1 bug fixed. still
1 left.



SVN revision: 52727
2010-09-25 06:19:30 +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
Carsten Haitzler ca722c0c6a fix clip in simple img obj case
SVN revision: 52446
2010-09-19 02:28:09 +00:00
Carsten Haitzler 9a51cd55fa fix raols bug he found map + del obj.
SVN revision: 51857
2010-09-03 08:44:13 +00:00
Carsten Haitzler 28a28cbf27 grrrr. slowness bug. fix. now display bug is back.
SVN revision: 51855
2010-09-03 08:23:38 +00:00
Carsten Haitzler 4c63db37f8 in order to fix some horridibubble things. i had to add 4 api's. ugh.
done. working. now... still 1 more bug. seems to be a changed flag bug
too in dlip 2 test in scrolling list after map anim finished. smaller
bug to deal with now. ugh. bug one bug to the other



SVN revision: 51849
2010-09-03 00:06:56 +00:00
Carsten Haitzler 6e3d671219 and fix up some related map+clip+smart render issues along with fixing
map boundary bugs as in trying to fix it i added some bugs.



SVN revision: 51826
2010-09-01 22:45:30 +00:00
Carsten Haitzler 00236e9c5a fix map bug. :) again. this time both cases work.
SVN revision: 51704
2010-08-29 01:04:47 +00:00
Carsten Haitzler 716211ade3 fix nasty uncaught clip + map bug! fix fix fix!!!!!
SVN revision: 51608
2010-08-24 08:14:46 +00:00
Carsten Haitzler 3222408fe5 1 bug-- ... when maps got enabled and disabled you'd find in softwarre
that you'd get dirty areas that didnt re-rneder. fixed with nasty hack
- force a full update if anyone in the evas object tree changed maps
from on to off and vice-versa



SVN revision: 51600
2010-08-24 06:58:07 +00:00
Cedric BAIL c689865500 * evas: remove some warning.
SVN revision: 51281
2010-08-18 15:11:07 +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
Cedric BAIL 7bcd87e551 * evas: bring back object cache.
SVN revision: 48620
2010-05-05 11:36:21 +00:00
Carsten Haitzler c10f1e9c5d fix map rendering of text objects.
SVN revision: 48501
2010-05-01 13:27:05 +00:00
Carsten Haitzler 64c051e7c2 fix map render bug.
SVN revision: 48462
2010-04-30 08:24:55 +00:00
Carsten Haitzler 8ea3844c85 fix fill render bug cedric reported. :)
SVN revision: 48393
2010-04-28 14:38:46 +00:00
Cedric BAIL fc44f0f050 * evas: cleanup white space.
SVN revision: 48363
2010-04-27 13:43:10 +00:00
Carsten Haitzler afe65d7c0a add ability to dump engine coontents (if engine supports it). this means
unload images it has loaded from disk, unload fonts, and more. dump dump dump!



SVN revision: 47947
2010-04-12 08:23:53 +00:00
Carsten Haitzler 17764a850d fix bug when rendering not getting updates!
:)



SVN revision: 47365
2010-03-22 07:40:10 +00:00
Gustavo Sverzut Barbieri fd2659c572 evas: mega documentation improving commit.
This commit moves Evas.h contents a lot, but it should not change code
(some conts were added, some function attributes were changed).

The purpose of such is to define the order that doxygen show modules
in its documentation.

I also splitted documentation a bit more, and added a src/examples to
list useful example code. Right now it is just a pure-evas
draw-and-save using buffer engine.

NOTE: there is lots to document, and the @todo list is quite long but
      I guess lots of things there were done already. Raster, could
      you review this list?




SVN revision: 47308
2010-03-18 04:57:40 +00:00
Carsten Haitzler 8d76bbaffb fix sync issue with override-redirect windows
SVN revision: 47287
2010-03-16 12:30:55 +00:00
Carsten Haitzler f35fa585c4 add 3 things
1. the concept of callbacks for a canvas as a whole. add/ del/ del_full these
2. focus in+out events for the canvas as a whole - can help solve some issues
with inoput methods + ecore-imf + entries (like edje_entry)
3. add callabcks to be called before/after flush of display.



SVN revision: 45761
2010-02-01 04:26:55 +00:00
Carsten Haitzler c612e20b40 move fastpath where it should be
SVN revision: 45623
2010-01-27 06:49:21 +00:00
Carsten Haitzler 82ea9859e8 fastpath for map that are... well.. not mapped.
SVN revision: 45574
2010-01-26 08:16:36 +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
Cedric BAIL a27c701f27 * evas: Remove lot's of warning.
SVN revision: 44629
2009-12-21 15:52:12 +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
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
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 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 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 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
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
Cedric BAIL 8984a75799 * evas: Cleanup move to eina log.
Patch from Mathieu Taillefumier.


SVN revision: 43200
2009-10-22 15:22:22 +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
Vincent Torri ac3dae2a80 remove trailing spaces
SVN revision: 42238
2009-09-04 05:13:19 +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
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
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
Cedric BAIL 6d0ee81526 * evas: Remove Evas_Bool.
SVN revision: 41067
2009-06-17 10:01:52 +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 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
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 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 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
Cedric BAIL 465b76a017 Remove Evas_List from Evas.
SVN revision: 36942
2008-10-21 16:31:05 +00:00
Cedric BAIL 68d377afe6 Rename EINA_INLIST_ITER_NEXT/EINA_INLIST_ITER_LAST to EINA_INLIST_FOREACH/
EINA_INLIST_REVERSE_FOREACH so it best match is behaviour. Asked by Gustavo.



SVN revision: 36928
2008-10-21 12:19:57 +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 e692738d22 Remove Evas_Array.
SVN revision: 36716
2008-10-16 12:27:07 +00:00
Gustavo Sverzut Barbieri 58a49c2f69 Add calculate callback to Evas_Smart_Class.
Some people is using it for some time now without problems, so I'm
adding it to SVN to get some broader use. Remember to recompile ALL
libraries that depend on Evas as it will change the
EVAS_SMART_CLASS_VERSION and old classes will fail to load.

This will also change Edje so it will postpone _edje_recalc() to
render time, calculate() callback, however some methods will force
early recalculation.



SVN revision: 35860
2008-09-07 01:25:49 +00:00
Cedric BAIL 3b2a46c239 This call is already done at the end of a frame rendering, so no need to do
it also every time we restack something.


SVN revision: 35162
2008-07-18 13:31:06 +00:00
Cedric BAIL 2ebe01d957 Correct the removal of an object.
SVN revision: 34842
2008-06-17 11:24:48 +00:00
Cedric BAIL 3796312acf Cleanly handle evas_object_release.
SVN revision: 34841
2008-06-17 09:04:12 +00:00
Carsten Haitzler d4e8f592bb fix arrya state engin issue... redraws vanishing. fixed!
SVN revision: 34808
2008-06-12 13:22:26 +00:00
Cedric BAIL eaedf88d4d Fix osbcuring case with evas_render cache.
SVN revision: 34737
2008-06-04 16:42:39 +00:00
Cedric BAIL eaa23bebce Replace evas_list used by evas_render by a cache of evas_array.
README: This should not break any EFL applications, but please check and report any breakage to me.


SVN revision: 34677
2008-05-26 13:24:24 +00:00
Gustavo Sverzut Barbieri 7a82a3e43d Save 20 bytes moving smart data to its specific object struct.
This saves 20 bytes, bringing Evas_Object to 200 bytes, by moving data
specific to smart objects to their own struct (Evas_Object_Smart).

There is still one remaining member that could be removed:
smart.smart, this is used mainly to identify if one object is a smart
object or not. One possibility would be to add a bitfield to state
that, but another possibility is to check Evas_Object::object_data
and see if it's a smart or not.


SVN revision: 34419
2008-05-01 05:48:03 +00:00
Cedric BAIL 1a9cfba889 Removing trailing white spaces.
SVN revision: 34269
2008-04-14 09:31:31 +00:00
Carsten Haitzler 2ea744bc1b working on optimising software-x11 with the one-buffer persistence idea that
software-16 uses. it works and in some cases gets massive speedups (70%+) but
in a few its slowdowns (30% down) in expedite tests - why, i don't know. it
should be the same or better in all tests. disabled for now - also not
complete. < 32bpp wont' work and not sure rotation works and masks don't work
either.


SVN revision: 31928
2007-10-02 03:40:14 +00:00
Carsten Haitzler c303f04048 add an engine idle flush
SVN revision: 30355
2007-06-17 02:56:59 +00:00
Gustavo Sverzut Barbieri 6398a2c6dc Add branch prediction fixes
SVN revision: 30237
2007-06-04 18:31:30 +00:00
Carsten Haitzler 18b973d1ac 1. fixed some inefficient edje loading - moved checks to the cache code where
it sould be
2. fixed edje handling of delete of objects so we don't lose clip info if we
move a swallowed object out
3. fix up norender stuff for evas a bit
4. pants.

5. coogee beach (sydney) in summer right now is beatiful - KICK ASS!


SVN revision: 28102
2007-01-22 12:44:57 +00:00