Commit Graph

54 Commits

Author SHA1 Message Date
Cedric Bail 0d2c6481b8 evas: final cleanup of the API, should be ready to make it public by now. 2013-05-06 19:02:05 +09:00
Cedric Bail 6929386895 evas: now move eina_file also out of the frame_duration API. 2013-05-06 19:02:05 +09:00
Cedric Bail 7d83e42046 evas: move evas cache API outside of the image data loader API. 2013-05-06 19:02:04 +09:00
Cedric Bail 6f802ab234 evas: start work on making the loader module a public API.
Goal is to be able to remove all internal Evas call from inside all
loader module. To do so we are going to open and hold a reference to the
file from outside of the module, read the header, create the image data,
load the data, close that reference.

Once that done, the next step is to let the file remain open as soon as
the filename/key is set and add an API to set an Eina_File directly. This
way edje can maintain the same file open as it use for an edje object,
keeping things in sync and avoid rendering glitch during update.
2013-05-06 19:02:04 +09:00
Daniel Zaoui 3d5136e4cc Efl: adapt legacy Evas callbacks to Eo callbacks mechanism. 2013-05-05 14:32:24 +03:00
Rafael Antognolli f490c4e5aa evas/events: Add evas_event_input_multi_move().
Same as evas_event_input_mouse_move, but for multi_move.
2013-05-03 17:19:13 -03:00
Rafael Antognolli f09e493bc2 evas/events: Add evas_event_input_mouse_move().
This function should be used internally by the input system
(Ecore_Evas_Input) to feed Evas with move events. The x,y event info is
relative to the base of the window/surface, instead of the 0,0 of the
canvas.

This case only happens for now under Wayland, where the 0,0 of the
canvas is translated due to the window decorations that are drawn by the
client.
2013-05-03 16:45:33 -03:00
Rafael Antognolli 4268bf9961 Revert "evas/map: Consider framespace offset when populating map points."
This reverts commit 3e43ad338d.
2013-04-29 11:29:43 -03:00
ChunEon Park 9fc2835cf4 evas - add evas_object_image_source_clip_set()/get() 2013-04-29 15:30:37 +09:00
ChunEon Park 911790b236 evas - fixed logic fault in proxy clipping. 2013-04-26 20:05:46 +09:00
ChunEon Park 188c345b27 evas - For compatibility, Make proxy's source clip to be optional. Im checking partal code for zmike. 2013-04-26 17:19:50 +09:00
Rafael Antognolli d05c58ff2c evas/wayland: Remove framespace clipper.
This clipper caused several bugs already, and there are some bugs still
not fixed. Let's remove it and try to fix any remaining with some other
kind of solution that does not depend on adding or clipping objects
during the evas render phase, which causes unexpected behavior.
2013-04-23 18:52:35 -03:00
Rafael Antognolli e937f1f5a3 evas/wayland: Unclip objects from the framespace after rendering.
These objects should be clipped only during rendering, since keeping
them clipped after that allows for unexpected behavior on the
application side. For instance, an application could check if objects
have clippers before doing something to them, assuming that some objects
should have no clipper, but under wayland, after the first render
iteration, there will be no objects without a clipper.

This commit fixes this behavior by unclipping objects that had no
clipper prior to the render iteration.

Additionally, it fixes a bug where a maximized/fullscreen window could
have not all of its content rendered immediately. This was occuring
because some objects could be clipped to the framespace clipper, but
considered invisible in the beginning of the render phase, where they
are evaluated. They were considered invisible because the framespace
clipper object was not resized at that phase yet, and thus these objects
were being clipped out from the viewport.
2013-04-18 16:38:16 -03:00
Carsten Haitzler 9b0e7626f4 Add subclasses for evas device api (new in 1.8) and document the evas
device api... :)
2013-04-12 20:05:16 +09:00
ChunEon Park fbec2b33db evas - removed unused 2013-04-12 11:06:03 +09:00
Cedric Bail e0f2ddadde evas: use eo_data_get less. Use clipees_has if you want to know the number of child now. 2013-04-11 18:07:09 +09:00
Carsten Haitzler 93dc78216c Add multiple output api support to evas... just "eo infra stubs" right
now.
2013-04-08 20:10:06 +09:00
Cedric Bail 7739267d8b evas: bounding box is only relevant to smart object. 2013-04-07 15:11:56 +09:00
Cedric Bail f1dfbc4e0e evas: remove one useless pointer (-30KB). 2013-04-07 14:00:10 +09:00
Rafael Antognolli 3e43ad338d evas/map: Consider framespace offset when populating map points.
Since the objects are moved by the framespace offset, it must be
considered when populating map points. This is done when the map is
applied to an object (the map points are updated with the framespace
offset of the canvas that is parent of that object.

Additionally, a flag is set on the map struct to indicate that it had
its points updated already to avoid re-adding the offset.
2013-04-02 14:40:00 -03:00
Cedric BAIL d583d08814 evas: no need for a callback per async call.
Let's not multiply our callback infrastructure without any serious need. We
already have to many of them.
2013-03-26 11:59:27 +09:00
Cedric BAIL e02bb36e3a eina: improve speed of Eina_Cow.
* Use an Eina_Hash for the garbage collector list.
* Turn off garbage collection on object that are unlikely to match.

This patch make 1.8 as fast as 1.7 again.
2013-03-20 10:59:56 +09:00
Cedric BAIL d79a2efa39 evas: use Eina_Cow a lot more and we are closer to the memory size of 1.7. 2013-03-13 14:35:25 +09:00
Cedric BAIL f4ff9a1a3e evas: cleanup header in preparation for Eina_Cow. 2013-03-12 20:09:10 +09:00
Cedric BAIL 4d316f3bec eo, evas, edje: reorder structure for reducing memory usage. 2013-03-12 19:17:11 +09:00
Paulo Cavalcanti ddfd471c71 efl/evas/text: Fix rendering issue with changed texts of same size
Introduce a new function called evas_object_content_change(). It should
be used when object contents get changed.

The rendering issue involving text objects was due to its map surfaces
not being freed. Thus, evas_object_content_change() is now called in
evas_object_text_text_set() during the relayout of the text for making
sure to get their map surfaces freed before rendering them.

Signed-off-by: Paulo Cavalcanti <paulo.cavalcanti@linux.intel.com>
2013-03-04 10:21:59 +09:00
Ivan Briano 61b8e2aefe More removal of \r 2013-02-17 14:53:25 -03:00
Paulo C. A. Cavalcanti Jr 04e660c5c7 evas: Introduce pixel_alpha_get()
The _pixel_alpha_get() function used in evas_object_image_is_inside won't
work with engines other than software - since it relies on engine data
being *always* RGBA_Image * - which is wrong for OpenGL backend that uses
Evas_GL_Image * for "engine_data" pointer.
2013-02-16 11:14:40 +01:00
Cedric BAIL db3eb71dde efl/evas: let's not be lazy and put smart related data only in smart object.
SVN revision: 83848
2013-02-12 08:58:59 +00:00
Cedric BAIL 966ca4602e efl/evas: move smart object data to smart object only.
SVN revision: 83847
2013-02-12 07:59:53 +00:00
Daniel Zaoui ec7a42b204 Replace supported_types
Signed-off-by: Daniel Zaoui <daniel.zaoui@samsung.com>

SVN revision: 83802
2013-02-10 07:52:17 +00:00
Raphael Kubo da Costa b236ac69bd evas: Rename evas_font_zero_presure()
There's an obvious typo in the function name, so appease my OCD and
rename it.

Patch by: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>



SVN revision: 83604
2013-02-04 15:33:38 +00:00
Cedric BAIL 1f1e0cd332 efl/evas: roll in Eina_Cow for Evas_Object_Image cur/prev.
This gave us back around 500KB at peak memory consumption in expedite.
More test to come.


SVN revision: 83376
2013-01-28 00:28:53 +00:00
Cedric BAIL 6c7edfd38e efl/evas: roll in more cow, using a new macro per Eina_Cow.
SVN revision: 83325
2013-01-25 12:15:38 +00:00
Carsten Haitzler 07c3ce0bbe ummm this really fubars stuff up cedric.. revert. put it back when u
have figured things out. :)



SVN revision: 83143
2013-01-23 10:07:31 +00:00
Cedric BAIL 36bdaab9c2 efl: another easy to kill, almost 5% in memory save per Evas_Object_Image.
SVN revision: 83073
2013-01-22 10:59:14 +00:00
Cedric BAIL 3070dfac2d efl: move Evas_Object map data to there own Eina_Cow pointer.
NOTE: Overall speedup of 7%. No benchmark on memory consumption yet
as they are still running ask me directly to get the number later
today.


SVN revision: 83052
2013-01-22 03:56:00 +00:00
Cedric BAIL 3e7e37630f efl: group more map stuff in the same sub structure.
SVN revision: 83034
2013-01-21 09:36:19 +00:00
Cedric BAIL 380aea9e91 efl: cleanup Evas_Object_Protected_Data.
SVN revision: 83028
2013-01-21 03:51:58 +00:00
Ulisses Furquim 34cc6a1b15 evas/async_render: fix refcount handling of scaled image entries
SVN revision: 82961
2013-01-17 22:14:05 +00:00
Cedric BAIL 4c828392da efl: roll in first use of Eina_Cow for Evas_Object.proxy.
Expedite biggest test memory win 100KB, average 10KB.
No slow down in proxy test (+/-3%). Speed up in most other
case (average speed up is +5%), likely due to much more
cache hit.

Elementary test show a win between 100KB to 600KB depending
on the test you are considering.

Now, you can see how I intend to use Eina_Cow and the expected
win we can have from it. I don't intend to do more for the
rest of the week so you have time to comment.


SVN revision: 82924
2013-01-17 07:21:06 +00:00
Paulo Alcantara b557bd9e0d efl/engines: Introduce multi_font_draw() function
This new engine function will only be used in software generic for
now - since it's the only engine used with the async render.

This function has been introduced in order to avoid growing thread
command queue too much to draw a text_props at a time on render calls
from textgrid objects.

Patch by: Paulo Alcantara <pcacjr@profusion.mobi>



SVN revision: 82832
2013-01-15 17:35:11 +00:00
Ulisses Furquim d45a54a0aa evas/async_render: do not use async event to unref image maps
SVN revision: 82663
2013-01-11 19:56:17 +00:00
Leandro Pereira d5f91fd5c2 evas/async_render: do not use async event to unref glyphs
Patch by: Leandro Pereira <leandro@profusion.mobi>



SVN revision: 82662
2013-01-11 19:55:40 +00:00
Leandro Pereira ed79c2182e evas/async_render: do not use async event to unref images
Patch by: Leandro Pereira <leandro@profusion.mobi>



SVN revision: 82661
2013-01-11 19:54:12 +00:00
Carsten Haitzler a8cc6e9e16 oosp - didnt meant o commit this... it was just the start of some test
code... not ready yet. just adds warnings and stuff.



SVN revision: 82381
2013-01-08 04:00:36 +00:00
Carsten Haitzler 478de3ec76 small change - not worth chglogging... make evas gl x11 header not
need xlib.h anymore... :)



SVN revision: 82378
2013-01-08 03:49:49 +00:00
Paulo Alcantara 19a52f4efd efl/evas: Fix XCB/Xlib crash when closing applications
We need to wait draw threads finishing their stuff before freeing canvas.

Signed-off-by: Paulo Alcantara <pcacjr@profusion.mobi>


SVN revision: 81395
2012-12-19 18:03:38 +00:00
Paulo Alcantara 76932dcc9f evas/engines: Introduce render mode
The render mode should be useful for engines other than software one.

Signed-off-by: Paulo Alcantara <pcacjr@profusion.mobi>


SVN revision: 81384
2012-12-19 16:15:58 +00:00
Leandro Pereira cb10c7d019 evas: Modify software_generic and gl_x11 to with with threaded renderer
SVN revision: 81284
2012-12-18 16:28:55 +00:00