Commit Graph

4341 Commits

Author SHA1 Message Date
Daniel Zaoui 232a3cf5fc Eolian/Generator: Fix comments generation in headers.
Trailing whitespaces were added in description empty lines.
2014-03-06 15:12:51 +02:00
Chris Michael 46f6ef0ccc ecore-evas: Include Ecore_Drm header
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-06 12:38:06 +00:00
Chris Michael 667702d1a5 ecore-drm: Add ecore-drm Makefile
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-06 11:17:26 +00:00
Chris Michael 5938f486f3 ecore-drm: Add Ecore_Drm to main Makefile
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-06 11:17:01 +00:00
Chris Michael 3d5f93a9cf ecore-drm: Add code for SPARTACUS !! ;)
@ferature: This adds code for the ecore-drm auth process to open
restricted inputs/cards/etc by the user.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-06 11:15:29 +00:00
Chris Michael 8e30a4eeab ecore-drm: Add missing EINA_UNUSED for unused function paramaters.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-06 11:12:23 +00:00
Chris Michael d7f69ba826 ecore-drm: Comment out Gbm Format
@bugfix: This fixes ecore-drm building since we commented out all the
hardware accel support (for now).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-06 11:10:26 +00:00
Chris Michael ea8ce66709 ecore-drm: Add missing define
@bugfix: Add missing define for number of framebuffers

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-06 11:08:55 +00:00
Chris Michael 06afd41355 evas-drm: Add headers for hardware acceleration
@bugfix: Add missing headers for egl/gl support in evas-drm

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-06 11:02:25 +00:00
Chris Michael 4bcd26d5b9 evas-drm: Remove hardware acceleration fields from engine structure
@bugfix: Removed hardware acceleration fields from engine structure.
These are now located inside the buffer management code itself, so no
need for them here.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-06 10:59:44 +00:00
Chris Michael 3762e85c39 ecore-drm: Add Ecore_Drm code
@feature: Add Ecore_Drm library code for setting up drm card, outputs,
virtual terminals, framebuffers, and input for use with ecore_evas drm
code.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-06 10:57:26 +00:00
se.osadchy e60e56aada edje/edje_edit: Check for NULL
Summary: Add check for NULL to the edje_edit_state_external_param_set function

@fix

Reviewers: cedric, raster, seoz

Reviewed By: cedric

CC: cedric, reutskiy.v.v

Differential Revision: https://phab.enlightenment.org/D584

Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
2014-03-06 18:27:27 +09:00
Vyacheslav Reutskiy b749565278 edje/edje_edit: fix part add bug
Summary:
Invert the check of the ed->file. If the ed->file is NULL then return
EINA_FALSE.

@fix

Reviewers: raster, cedric, seoz

CC: cedric

Differential Revision: https://phab.enlightenment.org/D603

Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
2014-03-06 18:27:27 +09:00
Chris Michael 2a1c6e02fb evas-drm: Add buffer management file
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-06 09:26:03 +00:00
Chris Michael bdee3c1ed6 evas-drm: Add buffer manager file to build order
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-06 09:26:03 +00:00
Cedric BAIL dea550eba1 edje: add AUTHORS and more than one license file to Edje.
@feature
2014-03-06 16:33:06 +09:00
Cedric BAIL c3e0f5c4ef eina: make Eina_Error thread safe.
@feature
2014-03-06 14:27:26 +09:00
Cedric BAIL 25c58f149a ecore_evas: remove warning. 2014-03-06 14:27:26 +09:00
Cedric BAIL 563ea6a01c tests: remove warnings. 2014-03-06 14:27:26 +09:00
Jihoon Kim 71f296e171 Edje entry: fix bug preedit text is committed in the next entry when Tab key is pressed.
Key events which ecore_imf_context_filter_event function returns EINA_TRUE should be not propagated.

@fix
2014-03-06 11:17:34 +09:00
Jérémy Zurcher ef09ef7489 eo: replace composite_objects Eina_List with an array of Eo_Object*
as we don't support multiple composites of the same class,
and know at class elaboration how many composites we should have,
we can create the composites array and pack it at the end of the object.
2014-03-05 23:57:39 +01:00
Jérémy Zurcher b763db3666 eo: memory waste at mixin class elaboration
@fix

mixins data offsets are stored in Eo_Extension_Data_Offset[],
if the constructed class is a mixin, do not reserve space for its
private data, the class is in mixins list and will be handled at
Eo_Extension_Data_Offset computation.

see  _eo_data_scope_get(...) for private data retrieval
2014-03-05 22:44:21 +01:00
Chris Michael 58c5edd9af ecore-evas-x: Fix resource leak from eina_str_split_full usage
@bugfix: This fixes Coverity CID 1188012

Coverity reported resource leak from eina_str_split_full return which
was only being freed if the number was > 0. This is incorrect as
eina_str_split_full will still allocate the array and thus it should
be freed.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-05 14:36:39 +00:00
Chris Michael 8e48e864ae ecore-evas-x: Fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-05 14:32:15 +00:00
Chris Michael 238208b829 evas-drm: Fix setting cached image alpha flag
@bugfix: Set cached image alpha flag properly

This fixes issue where cached image alpha flag was not set properly.
Set it according to the outbuf's destination alpha flag.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-05 14:12:58 +00:00
Chris Michael 3692f0905c evas-drm: Check buffer validity in swap function
@bugfix: Check (and set) buffer validity before calling
framebuffer_send. This fixes an issue where buffer was not valid,
causing next_update_get to do full Copies.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-05 14:12:58 +00:00
Chris Michael b117d48159 evas-drm: Don't call framebuffer set from within send function
@bugfix: We cannot call framebuffer_set from within the send function
because if we are not vsync'd then framebuffer_set would never be
called and thus the buffer would not be marked as valid, causing full
Copies to happen.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-05 14:12:58 +00:00
Gustavo Sverzut Barbieri ecc5fa3379 ecore_evas/fb: implement screen_geometry_get()
Sometimes it is useful to query screen geometry (more often size) to
do some metrics as finding the proper theme in my case. As this call
works for X11 and others, let's make it work for framebuffer as well.
2014-03-05 10:20:27 -03:00
Cedric BAIL dc4bad17dd edje: let's allow to reset escaped text to NULL.
@fix T821.
2014-03-05 15:12:17 +09:00
Cedric BAIL 5915780274 eio: make it possible to limit the amount of memory used by threads.
Eio does need to allocate memory from the thread, transmit it to the
main loop where it is processed and later on freed. If the main loop
is to slow to handle the stream of incoming data, a huge peak of
memory can happen. Some people may want to limit the amount of memory
used at peak time and so this new infrastructure make that possible.

@feature
2014-03-05 14:06:39 +09:00
Cedric BAIL 042407a39d eio: remove warning. 2014-03-05 14:06:27 +09:00
Cedric BAIL add9540b1c edje: fix edje_watch to not pass the '\n' to eio_monitor.
Eina_File line iterator does give the length of the line including the '\n'.
We did previously ignore that and passed the '\n' down to eio_monitor. Obviously
it would fail to monitor a PATH that finished with a '\n' and edje_watch did
stop working. I guess nobody did any real testing with edje watch in the past
year.

@fix
2014-03-05 12:14:40 +09:00
Cedric BAIL be25ab6f85 eio: let's report the path we didn't found. 2014-03-05 11:46:12 +09:00
Cedric BAIL a31102ab43 eio: factorize code to have one place where data are pushed. 2014-03-05 10:41:37 +09:00
Cedric BAIL e1e4774306 eio: improve log when monitoring files. 2014-03-05 10:40:55 +09:00
Jean-Philippe ANDRE 01f0b600ac Ecore suite: Don't fail if PulseAudio is not running
In a previous commit I mentionned that make check would fail
if PulseAudio is not running. Well, this is a bit excessive,
especially for buildbots where it doesn't have to be running.
So let's check that PulseAudio is running before failing.

Other errors should still be caught.

A simple "pulseaudio --check" should do the trick.
2014-03-04 22:31:02 +09:00
Daniel Zaoui 2e0b5742e3 Eolian: Fix build for Windows
The definition of EAPI was missing in Eolian.h.

Spank on you, Tom! I expect you to be perfect and to tell me those
things before I push all the stuff ;-)
2014-03-04 11:40:46 +02:00
Jean-Philippe Andre 9750bd51f2 Ecore suite: Fix hangs when PulseAudio is not present
EFL can be built with PulseAudio support even if PA is
not present on the system. In that case, ecore_suite will
hang forever. Let's just catch the error instead.

Note: make check will fail if PA is not available (but not hang)

This is not related to Tom's recent mail (but yeah it reminded me
of this bug^^)

Fixes T732.
2014-03-04 16:01:45 +09:00
Jean-Philippe Andre 8ddfa35da6 Evas filters: Add return value in filter callback
This will inform the client whether an asynchronous filter properly
rendered or not.

I actually don't know any case where rendering can fail at runtime.
2014-03-04 15:17:11 +09:00
Jean-Philippe Andre 752fde1025 Evas cserve2: Fix excessive warnings during shutdown
The global index for fonts will be freed after cserve2 shutdown
but Evas keeps trying to free all its fonts after that.
2014-03-04 14:59:27 +09:00
Jean-Philippe Andre 63a18f3fce Evas filters: Fix errors in Evas_Object::destructor
Remove invalid call to source_unset and call the appropriate
Eo evas_obj_text_filter_source_set in case of Evas_Text with
proxy sources.
2014-03-04 14:17:25 +09:00
Jean-Philippe Andre cc21f8f173 Evas filters: Clean up some duplicate includes
No functional change
2014-03-04 13:58:53 +09:00
Jean-Philippe Andre ac8140ccd1 Evas filters: Rename RGBA_Image::mask.data into image.data8
The structure should not be changed, despite the union modification.

I am renaming for consistency with older branches that had a mask
field in RGBA_Image. Also, the mask.data or data8 is really just
a way to avoid casting between DATA8 and DATA32 (and it shows
clearly what kind of data you are dealing with).
2014-03-04 12:10:29 +09:00
Jean-Philippe Andre 993bd965ed Evas filters: Fix a typo (wrong value checked)
This was all a bad copy and paste :)
2014-03-04 11:52:53 +09:00
Jean-Philippe Andre 51f216973a Evas filters: Minor fix for consistency (clip_to_target)
Make sure sx and sy are properly set.
No need to backport as the function actually expect these values to
be initialized to 0 in the first place.
2014-03-04 11:44:19 +09:00
Jean-Philippe Andre 8e795109ac Evas filters: fix clip to target calculation
It was possible to keep negative values for dx,dy which would
then draw pixels out of bounds (= crash).

Make check crashed after the previous commit.

@fix
2014-03-04 10:37:34 +09:00
Jean-Philippe Andre e05885e0e3 Evas filters: Fallback to normal rendering in case of error
If the filters fail to render at runtime (that is, parsing went fine
but a command failed to run properly), fallback to normal rendering.
This should prevent text from disappearing when using proxies and
the OpenGL engine (for now).
2014-03-04 10:37:34 +09:00
Jean-Philippe Andre c783b8d450 Evas filters: Avoid potential memory leaks
Properly free the buffers when they are not in the current context list.
2014-03-04 10:37:34 +09:00
Jean-Philippe ANDRE 6d4dd3f194 Evas filters: fix random cases of 'dancing text'
In some situations, text with filters would be rendered in an invalid
position (somewhere too high).
I am not entirely sure of the reason why the original code with BLEND
doesn't work, but this new version is simpler as GL and SW have more
similar behaviours:

- render text to our 'output' buffer
- draw this buffer as an image onto the set target

Thanks zmike for reporting the issue.
And thanks A LOT for using the filters :D

@fix

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
2014-03-04 10:37:28 +09:00
Jean-Philippe ANDRE 83746e5629 Evas filters: fix black squares with the GL engine
If a text object changes regularily, there might be cases where
the object will be rendered as a simple black rectangle for just
one frame.

It seems that the previous output buffer is deleted before being
actually rendered on screen. This patch will delay the deletion
of the previous buffer until the current one has been rendered
to the target surface.

And again, thanks zmike for reporting.

@fix

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
2014-03-04 10:37:19 +09:00
Jean-Philippe ANDRE 7f63b4a3eb Evas filters: Avoid CRI message when using the GL engine
A CRItical message was always displayed when setting a filter
on a text object, saying that proxy rendering is not supported on GL.

Reduce CRI to ERR and skip proxy rendering altogether if there are
no proxy sources.

This @fix needs to be backported.

Thanks zmike for reporting this.

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
2014-03-04 10:37:03 +09:00
Jean-Philippe Andre a9558235f6 Evas filters: Improve RGBA to alpha conversion (visual quality)
Add weights to the R,G,B components when converting to greyscale.
The weights are those used in the RGB to YCbCr conversion formula.
2014-03-04 10:37:03 +09:00
Jean-Philippe Andre 7a7738e9bb Evas filters: Implement mapped blend for alpha buffers
Allow repeat fillmode in blend() for:
alpha --> alpha
alpha --> rgba
rgba --> alpha

Alpha scaling is not implemented yet, but it is not actually
required. Indeed, only proxies can have a different size and
proxies are RGBA images, not alpha.

Alpha scaling may or may not become a requirement in the future,
or for other purposes, but not yet.
2014-03-04 10:37:03 +09:00
Daniel Zaoui fe682d9760 Eolian: Valgrind fixes 2014-03-03 18:14:14 +02:00
Daniel Zaoui 49822ec28d Eolian: remove Ecore_File dependency 2014-03-03 18:14:14 +02:00
Chris Michael 1904466ebc evas-drm: Fix evas drawing delay for cedric
@bugfix: Draw to the front buffer first, instead of the back buffer.

Frenchie says this improves the "initial rendering delay" of expedite
tests. Originally, we were drawing to the back buffer first, then
flipping it onto the crtc when drawing was done. This presented a
"perceived" rendering delay when running expedite tests as it would
wait for the back buffer to be drawn before presenting it. Personally,
I think it is not good to draw directly to the front buffer first as
it may get presented "incomplete" ... but cedric says it draws fine so
we'll leave it starting on the front buffer (for now).

Signed-off-by: Chris Michael <devilhorns@comcast.net>
2014-03-03 16:07:18 +00:00
Daniel Juyung Seo 13d1e5dcf0 eina_list: Optimize eina_list_nth() call in case of index 0.
Check null and return the list data directly if the index 'n' is 0.
2014-03-04 00:03:01 +09:00
Amitesh Singh 257607cc69 edje: add support of last input entered in password mode to be always visible in entry.
@feature

Requirement: Last input entered in password mode should be always visible in
entry. e.g. **a -> ***b.

Reviewers: cedric, raster, seoz

Reviewed By: cedric

CC: cedric

Differential Revision: https://phab.enlightenment.org/D589

Signed-off-by: Cedric Bail <cedric.bail@free.fr>
2014-03-03 09:34:31 -03:00
Daniel Zaoui e8ee7ae24b Eolian: fix warnings.
Don't want Stefan to be angry ;-)
2014-03-03 14:28:30 +02:00
Yossi Kantor 1287177ac2 Eolian: New features/bugs fixes
1) Include files now have include guards
  2) --gh option generates legacy header with --legacy flag and eo header
  without --legacy flag
  3) EOLIAN keyword is introduced to mark functions used by generated
  file.
  4) * for comments when comment text is empty
2014-03-03 14:09:57 +02:00
Tom Hacohen b3beeb4244 Eolian: Updated Eolian_Helper.
In order to use, you need to do as follows:
Add
include /src/Makefile_Eolian_Helper.am
To the Makefile.am that uses it.
Put .eo files in extra dist, e.g:
EXTRA_DIST = elm_code.eo
Add all the files you'd like to generate in BUILT_SOURCES, e.g:
BUILT_SOURCES = elm_code.eo.c elm_code.eo.h elm_code.eo.legacy.h
2014-03-03 14:09:57 +02:00
Yossi Kantor 67dd5ef497 Eolian: New generation feature tested and bugs fixed
1) Underscore for static global names
  2) Escape special characters for in-code descriptions
  3) Proper spaces for generated lines
2014-03-03 14:09:57 +02:00
Daniel Zaoui 87f661e08e Eolian: support non null parameters.
The generation is only needed in legacy headers.
2014-03-03 14:09:57 +02:00
Daniel Zaoui 210051ebb3 Eolian/Generator: fix data type for implement function 2014-03-03 14:09:57 +02:00
Daniel Zaoui 10d7bffc4a Eolian: support warn_unused variables. 2014-03-03 14:09:56 +02:00
Daniel Zaoui 2db3cdb5e3 Eolian: Valgrind cleaning 2014-03-03 14:09:56 +02:00
Daniel Zaoui 21533a0079 Eolian/Generator: errors handling improvement.
Errors occuring during generation are now propagated to the main (i.e
exit code).
Logs have been ported to EINA_LOG instead of printf.
2014-03-03 14:09:56 +02:00
Daniel Zaoui baaf92c93a Eolian/Generator: implementation prototype change
Since we know the type of the private data given as parameter of the
implemented function, we can set it instead of void *.
2014-03-03 14:09:56 +02:00
Daniel Zaoui 60919ecbe6 Eolian/Generator: improve command line arguments and logging.
Now --gh/--gc don't require an additional argument.
If eolian_gen is called with --gc and some file.eo, the tool will
generate file.eo.c.
You can force another filename by using the -o with an argument.

Moreover, logging has been added to the generator.
2014-03-03 14:09:56 +02:00
Yossi Kantor 521701ff70 Eolian: naming convention for implemented functions
The format is now _<current_class>_<inherited_class>_function_name.
2014-03-03 14:09:56 +02:00
Daniel Zaoui 02f4c112ca Eolian/Generator: add private data to the prototypes of implementations 2014-03-03 14:09:56 +02:00
Daniel Zaoui 7b42be92d5 Eolian/Library: oops, use INF before log domain creation 2014-03-03 14:09:56 +02:00
Yossi Kantor c7beca12ec Eolian: Class type and class constructor/destructor generation added 2014-03-03 14:09:56 +02:00
Daniel Zaoui 748a01c47f Eolian/Library: add log domain and NULL checks 2014-03-03 14:09:56 +02:00
Daniel Zaoui 920c035c57 Eolian: Support of virtual pure functions.
Virtual pure can be defined in Eolian format by adding in the section
implements virtual::class_name::func_name[::func_type].
2014-03-03 14:09:55 +02:00
Daniel Zaoui f7dce9c8c9 Eolian/Generator: update options and return value from main.
-v is used instead of -V
returns 1 when an error occurred
useless print removed when scanning include directories
2014-03-03 14:09:55 +02:00
Daniel Zaoui 4d7e908e49 Eolian/Lexer: support class::constructor/destructor 2014-03-03 14:09:55 +02:00
Daniel Zaoui 5ae7cc962f Eolian: Format changes
- Support keys/values for properties instead of params
- Direction for parameters syntax changed from in to @in...
- obj:const changed to const in .eo
2014-03-03 14:09:55 +02:00
Daniel Zaoui a8661af73e Eolian: update .gitignore 2014-03-03 14:09:55 +02:00
Daniel Zaoui ba2cdd723d Eolian/Lexer: fix bug occuring during generation.
A string set by the lexer and used by the generator was set to NULL
instead of "constructor"/"destructor".
2014-03-03 14:09:55 +02:00
Daniel Zaoui 61b180448a Eolian/Generator: improve the files management.
Now, the .eo file given as parameter doesn't have to be into the given
include paths.
2014-03-03 14:09:55 +02:00
Daniel Zaoui b8cc668a9f Eolian/Lexer: inherits now is specified near the class name.
No more section inherits is supported.
2014-03-03 14:09:55 +02:00
Daniel Zaoui 857bdca899 Eolian/Lexer: remove default ctor/dtor.
They are now supported inside the section implements.
2014-03-03 14:09:55 +02:00
Daniel Zaoui 2f34bcac4b Eolian/Lexer: support of class types.
Now, .eo format has to supply the class type class, abstract, mixin or
interface.

Example: class Elm_Button {...
2014-03-03 14:09:55 +02:00
Daniel Zaoui 9add4c695c Eolian: remove --class option.
Now, the .eo file needs to be supplied instead of the class.
2014-03-03 14:09:54 +02:00
Yossi Kantor 17abdbdd43 Eolian: Code review fixes
1) API defined under EFL_BETA_API_SUPPORT
2) Init counters for init and shutdown
3) void for no-parameters functions
2014-03-03 14:09:54 +02:00
Daniel Zaoui 4ec1ae2d0f Eolian/Lexer: the ';' is now optional after '}'. 2014-03-03 14:09:54 +02:00
Daniel Zaoui 7a114b18af Eolian/Generator: oups, didn't mean to push that. 2014-03-03 14:09:54 +02:00
Daniel Zaoui 8de58b9757 Eolian/Lexer: rename signals to events. 2014-03-03 14:09:54 +02:00
Daniel Zaoui a934780714 Eolian-generator: fix crash during generation
It happens when no description is supplied for an event.
2014-03-03 14:09:54 +02:00
Tom Hacohen 4b24559ea6 Eolian: Split eolian build helper a different file.
This will let other modules use it more easily, and also make it easier
to borrow it to other repos.
2014-03-03 14:09:54 +02:00
Daniel Zaoui ab8d877150 Eolian/Generator: support legacy as option.
For the moment, the option works for C files. Have to add support for H
files.
2014-03-03 14:09:54 +02:00
Daniel Zaoui 327202ef37 Eolian/Generator: port options to getopt
Even if we want to remove the appending options, we still support them.
We will remove them later.
2014-03-03 14:09:54 +02:00
Tom Hacohen fabea6399c Eolian: Added an helper to call eolian_gen from within the project. 2014-03-03 14:09:54 +02:00
Tom Hacohen e4534ed0f2 Eolian: Renamed the eolian tool to eolian_gen. 2014-03-03 14:09:54 +02:00
Tom Hacohen 57c8f7ff38 Eolian: Fixed EXTRA_DIST. 2014-03-03 14:09:54 +02:00
Tom Hacohen 5a4f68d472 Eolian: Added eolian to the build system. 2014-03-03 14:09:53 +02:00
Tom Hacohen 036e3eeaa3 Eolian: Add EAPI to API calls. 2014-03-03 14:09:53 +02:00
Daniel Zaoui 5dea8ee0a8 Eolian: first import.
Imported by Tom, from the eolian repo which was written by:
Daniel Zaoui <daniel.zaoui@samsung.com>
Yakov Goldberg <yakov.g@samsung.com>
Yossi Kantor <yossi.kantor@samsung.com>
Savio Sena <savio@expertisesolutions.com.br>
Jérémy Zurcher <jeremy@asynk.ch>

Signed-off-by: Tom Hacohen <tom@stosb.com>
2014-03-03 14:09:53 +02:00
Cedric Bail 92a24dea79 edje: @feature to include license in edje file.
This will close T1027.
2014-03-03 08:39:53 -03:00