Commit Graph

1063 Commits

Author SHA1 Message Date
Rafael Antognolli b9836fbc07 Revert "ecore_audio: Add alsa support"
This reverts commit 4db03f700c.
2013-05-03 17:44:07 -03:00
Rafael Antognolli 70e882cefb Revert "ecore_audio: Remove old structs that we don't need anymore"
This reverts commit 96d9869684.
2013-05-03 17:44:01 -03:00
Rafael Antognolli d8b0c6e1da ecore/evas events: Use evas_event_input_multi_move to report events.
Same as using evas_event_input_mouse_move.
2013-05-03 17:19:14 -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 4b9a80a063 ecore/evas events: Use evas_event_input_mouse_move to report events.
Ecore_Evas_Input should use this function to report mouse move events.
The previous used function should be used to refeed events, or to
artificially feed mouse move events to the canvas. Basically every other
feed_mouse_move use case that is not an event from the input system.
2013-05-03 16:45:33 -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
Jérémy Zurcher f769128dca eo ptr ind: pack memory, use in mmap fifo as recycle trash
- pack active flag and generation nbr in an _Eo_Id_Entry struct
  - replace Eina_Trash with a fifo which lives in mmaped memory owned by eo_id.
  - fifo uses indexes instead of pointers to spare memory
  - never used entries are served first, then those in the fifo
    are reused, thus we ensure that a freed entry won't soon be reused.
2013-05-03 21:28:32 +02:00
Daniel Willmann 96d9869684 ecore_audio: Remove old structs that we don't need anymore
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-05-03 17:04:11 +01:00
Daniel Willmann 4db03f700c ecore_audio: Add alsa support
This is not well tested and thus disabled by default

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-05-03 17:04:11 +01:00
Daniel Zaoui 08d81394aa Eo: fix for castings. 2013-05-02 15:31:57 +03:00
Carsten Haitzler c8def7a756 SCREW YOU GIT!... here is my fix for jack daniels leak! 2013-05-02 16:48:43 +09:00
Carsten Haitzler f8c9a8d167 revert the revert... damn you git!
Revert "Revert "Efl: replace eo_data_get for objects data referencing.""

This reverts commit b64a2994b3.
2013-05-02 16:47:16 +09:00
Carsten Haitzler b64a2994b3 Revert "Efl: replace eo_data_get for objects data referencing."
This reverts commit 654a3f5f94.
2013-05-02 14:17:19 +09:00
Daniel Zaoui af401b4083 Eo: fix for unitialized value 2013-05-01 21:45:57 +03:00
Daniel Willmann 37c400eb6b ecore_audio: Document the remaining in-/outputs
Also remove the Classes section from the Ecore_Audio_Group, we don't
need it as the pages are linked automatically

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-05-01 18:20:12 +01:00
Daniel Willmann f8c7f96e05 ecore_audio: Add documentation for ecore_audio_obj_out
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-05-01 17:45:15 +01:00
Daniel Willmann a101ad2867 ecore_audio: Add documentation for ecore_audio_obj_in
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-05-01 17:41:54 +01:00
Daniel Willmann c249dc8cee ecore_audio: Update documentation and document ecore_audio_obj
Remove old unused function declarations

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-05-01 17:36:19 +01:00
Daniel Zaoui 654a3f5f94 Efl: replace eo_data_get for objects data referencing. 2013-05-01 10:37:08 +03:00
Daniel Zaoui f6a37f88d2 Eo: Add reference functions for objects data
We want to introduce a new mechanism concerning the data of the Eo
objects.
The goal is to improve the memory management by defragmenting the memory
banks used by the Eo objects. The first phase has been done by raster
and consists in allocating the objects into a separate memory region
that the one used by malloc. So now, we know where our objects are
located.
Now, moving objects means moving data of objects. The issue we have here
is that a lot of data pointers are stored into data of other objects,
e.g Evas Object data into lists for rendering...
We need a way to reference the data and eo_data_get doesn't provide us
that. So we need to improve the API for data extraction by requesting
from the developer if the data will be stored or not. Five functions are
supplied:
- eo_data_scope_get: no referencing, the data pointer is no more used after
exiting the function.
- eo_data_ref: reference the data of the object. It means that while the
data is referenced, the object cannot be moved.
- eo_data_xref: reference the data of the object but for debug purpose,
we associate the objects that references. Same behavior as eo_data_ref
for non-debug.
- eo_data_unref: unreference the data of an object.
- eo_data_xunref: unreference the data of an object previously
referenced by another object.

I deprecated the eo_data_get function. Most of the time,
eo_data_scope_get needs to be used.

In the next patches, I changed the eo_data_get to the corresponding
functions, according to the usage of the data pointer.

The next step is to find all the places in the code where the data is
stored but not yet referenced. This will be done by:
- requesting from every object to unreference all data to other objects.
- moving all the objects from one region to another
- requesting from every object to rerefenrence the data.
- debugging by hunting the segmentation faults and other weird
creatures.
2013-05-01 10:37:08 +03:00
Chris Michael 9372a1e217 Revert "Reduce duplicated code and comment out region_add sections that are"
This reverts commit 279c5ac28e.

This broke rotation (and some other things).
2013-05-01 07:32:10 +01:00
Rafael Antognolli 1f58a59a61 ecore_evas/wayland: Remove hack for changed state.
Since we don't have a changed state callback on Wayland, just call the
changed_state callback of Ecore_Evas from the configure callback.
There's no need to add the Ecore_Job that will send the event later.

This makes the code cleaner, simpler, and will call the callback when
the configure event is received, which is a good place to check for the
changes.
2013-04-30 16:31:43 -03:00
Rafael Antognolli a9b500370a ecore/wayalnd: Add some getters to ecore_wl_window. 2013-04-30 16:31:35 -03:00
Carsten Haitzler ab0fdf5916 it is possible with wchart_t to have it signed.. so unicode can be <
0... dont crash.
2013-04-30 23:11:01 +09:00
Chris Michael 279c5ac28e Reduce duplicated code and comment out region_add sections that are
not needed.
During buffer_attach, just call window_damage function which already
handles surface_damage & commit.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-04-30 14:55:54 +01:00
Daniel Zaoui 2ac4cdce76 Eo: Fix for warning on 64 bits. 2013-04-30 15:41:05 +03:00
ChunEon Park 29ef0f71ba evas - fix the wrong compare. thanks JackDanielZ for spotting it. 2013-04-30 19:51:24 +09:00
Daniel Willmann 108509c3f8 ecore_audio: Remember previous seekable state in vio_set
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-04-29 19:57:16 +01:00
Rafael Antognolli de0d0dce2e evas/smart: Directly access object geometry to improve performance.
There's no need to get the object geometry through
evas_object_geometry_get(), since it is not converted anymore (there's
no offset).
2013-04-29 12:52:50 -03:00
Rafael Antognolli a1914368a7 evas/framespace: Use more framespace offset on evas events.
The framespace offset must be taken into account when searching the list
of objects which received events, since the objects now have their
original position.
2013-04-29 11:29:43 -03:00
Rafael Antognolli 59c37d1c7b evas/framespace: Add support for framespace offset rendering translation.
Instead of moving the objects by adding the framespace offset to them,
use this offset when rendering them. This way there's no change in the
object's geometry/position, it works correctly with map, and will be
automatically updated in case that the framespace values change (for
instance if one sets a window to borderless).

There are 2 main places where changes were needed:
 - output redraws, when they come from an object being changed, must be
   add the framespace offset to their damaged area;
 - checks to see if the object is inside a given rendering area, must
   also add this offset, since the object is actually being rendered on
   a different position;
2013-04-29 11:29:43 -03:00
Rafael Antognolli 550bc6ca48 evas/framespace: Remove framespace offset from position set/get.
Objects won't be moved by the framespace offset anymore.
2013-04-29 11:29:43 -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 2e699fbab9 evas - and apply proxy_src_clip only when object and proxy is same in render_mapped 2013-04-29 21:05:33 +09:00
ChunEon Park 9272cc9de2 evas - fix doc 2013-04-29 16:20:39 +09:00
ChunEon Park 9fc2835cf4 evas - add evas_object_image_source_clip_set()/get() 2013-04-29 15:30:37 +09:00
WooHyun Jung a248548712 ejde/edje_entry.c : commit_cancel should be EINA_FALSE when there is one or more characters in preediting string. 2013-04-29 12:46:22 +09:00
Daniel Zaoui 57461dc6a1 Evas: rename Evas_Common.h to Evas_Common_Header.h
This change is due to EFL compilation failing in Windows. This file was
conflicting with evas_common.h. Case sensitive issue...
2013-04-28 14:22:21 +03:00
Jérémy Zurcher 994318eebe eo_ptr_ind: pack ptr, active flag and generation all together
use of an array of the below struct instead of 3 separate arrays
leads to better cache performance and smaller memory usage
typedef struct
{
  _Eo *ptr;
  unsigned int active     : 1;
  unsigned int generation : BITS_FOR_GENERATION_COUNTER;
} _Eo_Id_Entry;
2013-04-28 00:43:53 +02:00
Jérémy Zurcher 41dc1764f3 eo_ptr_ind: fix hdr->size in _eo_id_mem_alloc 2013-04-28 00:17:07 +02:00
Daniel Willmann 6c7dbf67af ecore_audio: Add vio_set method / write cb to output
ecore_audio_obj_out now also supports VIO. Add attribute need_writer so
we can generalize the idler creation for subclasses at a later time.

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-04-26 18:49:24 +01:00
Daniel Willmann 72870c0b6e ecore_audio: Remove duplicate variables/move to appropriate place
* The idler for the write callback is now in the output struct because
  different outputs might need it.
* Remove paused attribute from output - we have it in Ecore_Audio_Object
  already

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-04-26 18:49:24 +01:00
Daniel Willmann 3fdc608da1 ecore_audio: Move sndfile VIO into a file to access from in- and output
The VIO wrapper functions are needed from the sndfile inputs and outputs
so move them to a separate file and access from both.

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-04-26 18:49:24 +01:00
Daniel Willmann 3b70c0bc83 ecore_audio: Zero copy in pulse output
Using pa_stream_write_begin we can just request a buffer to write into
This reduces the amount of calloc()/free() and memcpy calls.

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-04-26 18:49:24 +01: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
ChunEon Park 39a864d2f7 evas - fix the proxy object to not be clipped by source clipper 2013-04-26 14:45:41 +09:00
Tom Hacohen 455d8790b9 Evas textblock: Fixed line size calculation when using multiple fonts.
Thanks to MinSu Seo for reporting.
2013-04-25 15:16:20 +01:00
Jihoon Kim 2e0859f112 edje entry: remove duplicated ecore_imf_context_reset in adjusting the selection 2013-04-25 09:46:19 +09:00
Daniel Zaoui 80e04b2842 Evas: Split Evas headers
Now, Evas.h includes three new files:
- Evas_Eo.h: Eo API functions (functions defines, enums, base id).
- Evas_Legacy.h: contains the API functions related to objects
- Evas_Common.h: common data (structs, enums...) +
functions not related to objects.

This phase is needed for the EFL 1.8 release to disable Eo APIs if we
consider it is not enough mature to be used by applications.
2013-04-25 03:40:45 +03:00