Stefan Schmidt [Fri, 9 Jan 2015 15:22:07 +0000 (16:22 +0100)]
elocation: Mark elocation as BETA API for the upcoming 1.13 release
It is not ready as a public API yet. It needs to run on GeoClue1
and GeoClue2 which will definitely bring API changes as some parts
are tied to mcuh to what GeoClue1 offers right now.
Daniel Kolesa [Fri, 9 Jan 2015 15:45:03 +0000 (15:45 +0000)]
elua: convert some eolian binding API results to numbers
This might fix some bugs and is the right thing to do anyway.
Chris Michael [Thu, 8 Jan 2015 14:10:21 +0000 (09:10 -0500)]
ecore-evas-wayland: Port fix of min/max size calculations to the
configure event handler
Summary: This patch ports the fix for windows without a min/max size
being set over to the configure event handler (which was also not
taking into account the fact that Some windows may Not have a min/max
property set on them.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Vyacheslav Reutskiy [Fri, 9 Jan 2015 07:42:19 +0000 (07:42 +0000)]
edje: update the edc reference
Add a list of global signals that edje provide.
Stefan Schmidt [Thu, 8 Jan 2015 16:03:55 +0000 (17:03 +0100)]
tests/ecore_thread: Disable verbose logging with printf
If we are going to test for
10000000 messages we should not print out for each
of them to stdout. The log file for ecore_suite will catch them all. It ended
up being 199MB on my machine just filled with these debug statements.
I left it in in case someone needs it for debugging but we should not have it
on by default.
Avi Levin [Thu, 8 Jan 2015 12:40:56 +0000 (14:40 +0200)]
eo: Fix bad addressing in _eo_classes array
The header.id was masked before using it as index in the _eo_classes
array and was not unmasked when used.
It hasn't caused segfault (by sheer luck) but was wrong.
@fix
Myoungwoon Kim [Thu, 8 Jan 2015 13:35:49 +0000 (08:35 -0500)]
ecore_evas_x: Free XCounter values leak.
Summary:
Whenever creating a window via elm_win_add(), save netwm_sync_counter values to edata->netwm_sync_counter
by ecore_x_sync_counter_new().
However, never free the values when a window has been destroyed.
So this patch is for free the values in _ecore_evas_x_free().
@fix
Reviewers: cedric, raster, Hermet, devilhorns
Reviewed By: devilhorns
Subscribers: cedric, seoz
Differential Revision: https://phab.enlightenment.org/D1855
vivek [Thu, 8 Jan 2015 13:34:01 +0000 (08:34 -0500)]
ecore_imf: Add null check condition in ecore_imf module
Summary: Fixed null pointer dereference issue in ecore_imf module
@fix
Signed-off-by: vivek <vivek.ellur@samsung.com>
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: raster, cedric
Differential Revision: https://phab.enlightenment.org/D1813
Cedric BAIL [Thu, 8 Jan 2015 11:34:20 +0000 (12:34 +0100)]
eina: all Eina_Stringshare printf variant now return empty string as expected.
Previously Eina_Stringshare printf variant where returning NULL with ("%s", ""). This
is highly disturbing as you would have gotten "(null)", if you asked for ("s", NULL).
To clarify and make things logical, we now return "".
Amitesh Singh [Thu, 8 Jan 2015 10:48:01 +0000 (19:48 +0900)]
eina: fix memory leaks in eina_stringshare_printf/vprintf functions.
Summary: @Fix
Test Plan:
CK_FORK=no valgrind --leak-check=full {UNIT_TEST_PROGRAM} "String Share"
Reviewers: cedric, seoz, Hermet, raster
Subscribers: cedric, seoz
Differential Revision: https://phab.enlightenment.org/D1857
Jae Yong Hwang [Thu, 8 Jan 2015 10:38:48 +0000 (19:38 +0900)]
evas:fix markup text length issue
Summary:
There was no conversion to the double quotation mark in the evas_textblock_text_utf8_to_markup function.
The price of the text coming out to API and text coming out to Textblock was different as a result.
As a result, Two text lengths came out differently.
So, I added the exceptional treatment part in the evas_textblock_text_utf8_to_markup function.
@fix
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1853
perepelits.m [Thu, 8 Jan 2015 06:21:15 +0000 (15:21 +0900)]
[Evas, Edje] Adding of new structures
Summary:
There will be several methods to set orientation in edc, so we have decided to make one big vector,
the main reason is that we use quaternion by default, but look_at, for example, is given as 6 coordinates.
Reviewers: Hermet, cedric, raster
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1693
Jérémy Zurcher [Wed, 7 Jan 2015 21:12:29 +0000 (22:12 +0100)]
ecore: fix compilation, missing return value in ecore_thread_wait
@fix ecore_thread_wait return EINA_TRUE if execution is over or thread is NULL
Chris Michael [Wed, 7 Jan 2015 19:47:55 +0000 (14:47 -0500)]
ecore-evas-wayland: Fix min/max size calculations
Summary: This fixes an issue for windows which do not set a min or max
size in the properties. This was discovered when running Enlightenment
in a Wayland-Only scenario, and trying to bring up the settings panel
which would cause an endless loop in calculating the proper window
size due to min/max not being set.
@fix
NB: Thanks to Mike for the help in tracing this ! :)
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Wed, 7 Jan 2015 19:46:14 +0000 (14:46 -0500)]
ecore-wayland: Simplify opaque and input region handling.
Summary: We can make opaque and input region handling simplier if we
just use one opaque & input region per window. Previous code would
always create a new region, set it to the surface, then destroy it.
This code works much nicer in that it hammers the protocol with less
region create/destroy calls.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Wed, 7 Jan 2015 18:37:55 +0000 (13:37 -0500)]
ecore-evas-wayland: Fix formatting
Summary: no functional changes, just formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Cedric BAIL [Wed, 7 Jan 2015 15:43:47 +0000 (16:43 +0100)]
eio: forcefully wait on shutdown for all thread to stop.
This should avoid potential crash during shutdown while some Eio thread
were still running. We are still not blocking for more than 30s, so if
an IO is blocked on a dead device, you should be fine.
Cedric BAIL [Wed, 7 Jan 2015 15:42:24 +0000 (16:42 +0100)]
ecore: add ecore_thread_wait and necessary infrastructure.
This enable the possibility to block the main loop until a
specific thread is done. It may trigger still process ending
of other thread during that function call, but not any other
type of event (timer, animator, idler, ... are all ignored).
Chris Michael [Wed, 7 Jan 2015 14:52:34 +0000 (09:52 -0500)]
ecore-evas-drm: Fix formatting
Summary: No functional changes, just formatting cleanup
Signed-off-by: Chris Michael <cp.michael@samsung.com>
kabeer khan [Wed, 7 Jan 2015 14:51:12 +0000 (09:51 -0500)]
ecore_evas_drm: Added support for initial rotation in ecore_evas_drm
Summary:
Resolved FIXME added support for initial rotation in ecore_evas_drm initialisation
@fix
Signed-off-by: kabeer khan <kabeer.khan@samsung.com>
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1837
Carsten Haitzler (Rasterman) [Wed, 7 Jan 2015 13:29:00 +0000 (22:29 +0900)]
evas textgrid - fix drawing of codepoints that are 0
this fixes artifacts if you have cells with 0 codepoints and also have
underlines or strikethroughs in them.
@fix
Carsten Haitzler (Rasterman) [Wed, 7 Jan 2015 12:04:14 +0000 (21:04 +0900)]
evas map aa - match previous fix.
this matches
83eb1aa3c2e15568c89546048d72d7cae071ee42 fix in the other
map render func
Jean-Philippe Andre [Wed, 7 Jan 2015 11:21:16 +0000 (20:21 +0900)]
Evas map: Fix AA with opaque images
Well... actually this is not exactly a fix.
It just restores the previous behaviour, and allows AA to
work. As in, it won't draw ugly black lines but properly
blend to transparent.
But there is still a problem:
The image map render function changes the alpha flag on the source
image if AA is enabled or if the map has an alpha color. This is
actually wrong as images forcefully set to not have any alpha
(with evas_object_image_alpha_set(0)) will then not be opaque
anymore.
Right now I can't think of a solution (also I don't quite follow
the entire pipeline in evas map...). Changing the flag will
make some opaque areas transparent. Not changing the flag will
produce ugly artifacts where AA blending should happen. Fix one
bug and the other appears, and vice versa.
This can be tested with the example evas-map-aa and adding an
alpha channel to cube1.png (with gimp for instance) but manually
setting alpha to 0 in the code. Weird stuff will happen (try
playing with the map and pressing I to switch to/from image mode).
Jean-Philippe Andre [Wed, 7 Jan 2015 08:53:24 +0000 (17:53 +0900)]
Evas examples: Fix comment also in evas-map-aa.c
i'm dumb and didn't even read the line above the one i changed...
Jean-Philippe Andre [Wed, 7 Jan 2015 08:49:02 +0000 (17:49 +0900)]
Evas examples: Fix command line in evas-map-aa.c
Jean-Philippe Andre [Wed, 7 Jan 2015 08:30:46 +0000 (17:30 +0900)]
Evas map: Kill build warnings and don't set image flag
Don't change a source image alpha flag at render time.
It doesn't make sense at this point.
Also remove unused int pa.
Carsten Haitzler (Rasterman) [Wed, 7 Jan 2015 08:21:46 +0000 (17:21 +0900)]
evas map - new aa map has extra overflow with line list - fix it.
this fixes a feature added in this version of efl. as above.
Carsten Haitzler (Rasterman) [Wed, 7 Jan 2015 07:00:59 +0000 (16:00 +0900)]
edje - fix uninitialized coord sizes if swallow obj is invalid
this fixes invalid sizing calcs if shallowed obj is invalid and we
cant get geometry etc.
@fix
Jean-Philippe Andre [Wed, 7 Jan 2015 07:48:39 +0000 (16:48 +0900)]
Evas masking: Fix a potential issue with pixman
Untested. Just skip pixman path when there's a mask.
Jean-Philippe Andre [Tue, 6 Jan 2015 07:58:33 +0000 (16:58 +0900)]
Evas masking: Add some test cases
Here are only 3 very basic test cases.
One is a dumb set/get to check that image objects can
be passed as clippers.
The other one is a pixel verification test with extremely
basic data (NEAREST scaling and just rectangles). It also
compares text clipping and masking.
The last one performs a very basic verification that masks
of masks work.
Jean-Philippe Andre [Mon, 5 Jan 2015 04:44:32 +0000 (13:44 +0900)]
Evas masking: Minor fixes in GL masking
Jean-Philippe Andre [Tue, 23 Dec 2014 09:57:45 +0000 (18:57 +0900)]
Evas masking: Fix invalid geometry after mask redraw
The proper geometry should be set when rendering the mask,
otherwise we can't create a new surface if it changed dimensions.
Jean-Philippe Andre [Mon, 22 Dec 2014 12:46:14 +0000 (21:46 +0900)]
Evas masking: Fix another set of rendering artifacts
Jean-Philippe Andre [Mon, 22 Dec 2014 11:29:27 +0000 (20:29 +0900)]
Evas masking: Fix mask blend functions (SW engine)
The selected op func was not performing the correct operation,
thus producing rendering artifacts. These functions should not
be used anywhere except in case of masking... which was not an
available option earlier.
It was doing (wrong):
dst = interp(mask, src, dst)
Instead of (correct):
dst = dst + (1 - mask) * src
NOTE:
This commit also disables MMX, SSE3 & NEON implementations of
pixel_mask blend operations, since they are also broken.
Jean-Philippe Andre [Tue, 2 Dec 2014 06:19:10 +0000 (15:19 +0900)]
Evas masking: Add rectangle masking for GL
Jean-Philippe Andre [Mon, 1 Dec 2014 13:33:59 +0000 (22:33 +0900)]
Evas masking: Simplify and fix vertex logic in GL
There was some geometry problem, and this commit also
simplifies a lot of code by factorizing it a lot.
Jean-Philippe Andre [Mon, 1 Dec 2014 12:11:56 +0000 (21:11 +0900)]
Evas masking: Use new texm sampler instead of texa
texa should be used only for RGB+A whereas texm should
be used for masking. This should fix RGB+A masking, too.
Jean-Philippe Andre [Mon, 1 Dec 2014 10:52:13 +0000 (19:52 +0900)]
Evas masking: Add support for YUV, YUY2, NV12 masking in GL
RGB+A masking needs to be implemented, because there's a
clash (only one texture name "texa" is available).
Jean-Philippe Andre [Mon, 1 Dec 2014 09:26:47 +0000 (18:26 +0900)]
Evas masking: Add support for BGRA/ARGB masking
Also, refactor font & image GL masking.
Jean-Philippe Andre [Tue, 25 Nov 2014 05:34:42 +0000 (14:34 +0900)]
Evas masking: Font masking for GL
Jean-Philippe Andre [Mon, 24 Nov 2014 11:24:25 +0000 (20:24 +0900)]
Evas masking: Implement image masking for GL engines
Jaeun Choi [Wed, 19 Nov 2014 11:08:03 +0000 (20:08 +0900)]
Evas masking: Implement support for map draw (SW)
Jaeun Choi [Thu, 20 Nov 2014 05:56:36 +0000 (14:56 +0900)]
Evas masking: Implement support for polygon draw (SW)
Jaeun Choi [Thu, 13 Nov 2014 11:45:14 +0000 (20:45 +0900)]
Evas masking: Implement support for line draw (SW)
Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
Jaeun Choi [Mon, 17 Nov 2014 04:16:56 +0000 (13:16 +0900)]
Evas masking: Add edje support
Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
Jaeun Choi [Thu, 13 Nov 2014 01:50:00 +0000 (10:50 +0900)]
Evas masking: Implement event masking support
In case the clipper is a mask object, we should use precise
event masking. By default precise_is_inside is not enabled
because it is expensive, but it should probably be set by
the application when they use masks as clippers.
Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
Jean-Philippe Andre [Thu, 13 Nov 2014 01:47:29 +0000 (10:47 +0900)]
Evas masking: Implement mask support in evas_render
This implements supports for masking inside evas_render, which
means:
- Render the mask itself into a surface (ALPHA if possible)
- Pass this mask surface to the draw context
- Apply mask recursively in case a masked object is contained
by another masked object.
@feature
Jean-Philippe Andre [Thu, 13 Nov 2014 01:40:16 +0000 (10:40 +0900)]
Evas masking: Allow setting an image object as clipper
The render function is not yet implemented, but this
prepares the infra used to set an object other than
Rectangle as a clipper.
@feature
Jean-Philippe Andre [Thu, 13 Nov 2014 01:31:41 +0000 (10:31 +0900)]
Evas masking: Add clip_image_[un]set functions to draw context
This allows passing a mask image to the render functions.
@feature
Jaeun Choi [Thu, 13 Nov 2014 01:04:00 +0000 (10:04 +0900)]
Evas masking: Use alpha mask in SW engine draw functions
Work done by Jaeun Choi, rebased & squashed by jpeg.
This commit introduces changes to the low-level draw functions
of the SW engine considering the existence of an alpha mask image.
Features:
- Font masking (TEXT, TEXTBLOCK),
- Rectangle masking,
- Image masking (all image scaling functions should be handled).
The mask image itself is not yet set in the draw context (see
following commits).
@feature
Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
Jean-Philippe Andre [Wed, 7 Jan 2015 06:01:00 +0000 (15:01 +0900)]
tests: Remove file after Evas 3D save test
This should remove src/.eet and maybe src/.ply
make distcheck would fail on my machine because src/.eet
was not removed.
Dmytro Dadyka [Wed, 7 Jan 2015 03:58:51 +0000 (12:58 +0900)]
[Evas: Evas_3D] Fixed bug with bounding shapes update.
Reviewers: cedric, Hermet
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1851
ChunEon Park [Wed, 7 Jan 2015 03:04:21 +0000 (12:04 +0900)]
evas/examples: do build evas_3d_shadows
Dmytro Dadyka [Wed, 7 Jan 2015 03:00:47 +0000 (12:00 +0900)]
[Evas: Evas_3D]Fixed bug with shadows and blending of vertex position
Reviewers: cedric, Hermet
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1850
Mike Blumenkrantz [Tue, 6 Jan 2015 20:09:11 +0000 (15:09 -0500)]
fix build when cxx is disabled
Mike Blumenkrantz [Tue, 6 Jan 2015 19:55:54 +0000 (14:55 -0500)]
edje shadow warning--
added in
c501f2ce
ref D1768
Chris Michael [Tue, 6 Jan 2015 18:01:31 +0000 (13:01 -0500)]
ecore-drm: Fix issue with TakeControl and ReleaseControl functions
Summary: The dbus calls to TakeControl and ReleaseControl of a session
are actual Methods that need to be setup and called in order to
operate properly. As such, this commit fixes that issue by using the
proper eldbus method calls, and fixes an issue where shutting down
Enlightenment would lead to "cannot release control" error messages.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Tue, 6 Jan 2015 16:12:54 +0000 (11:12 -0500)]
ecore-drm: Fix incorrect launcher shutdown procedure
Summary: We need to clean tty handlers and close the tty Before we can
call logind_disconnect as that function ends up shuttting down our
dbus connection.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Tue, 6 Jan 2015 16:10:44 +0000 (11:10 -0500)]
ecore-evas-drm: Perform shutdown in proper order
Summary: This fixes an incorrect order with shutdown of drm library.
Sprites are created (during init) before inputs, so they should be
shutdown After inputs are.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Tue, 6 Jan 2015 14:05:37 +0000 (09:05 -0500)]
eet: Remove unused variable
Summary: This just removes an unused variable spotted during compile.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Andrii Kroitor [Tue, 6 Jan 2015 11:48:33 +0000 (12:48 +0100)]
ecore_evas: fix doc for ecore_evas_pointer_warp.
Reviewers: cedric
Subscribers: cedric, reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D1815
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Cedric BAIL [Tue, 6 Jan 2015 11:41:25 +0000 (12:41 +0100)]
edje: Edje_Edit - add Proxy to Edje_Part_Collection_Directory_Entry initializatoin.
Summary:
Add proxy while init Edje_Part_Collection_Directory_Entry at edje_edit_group_add and edje_edit_group_alias_add.
@fix
@fix
Reviewers: Hermet, seoz, cedric, raster
Subscribers: reutskiy.v.v
Projects: #efl
Differential Revision: https://phab.enlightenment.org/D1846
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Cedric BAIL [Tue, 6 Jan 2015 10:42:55 +0000 (11:42 +0100)]
eet: refactoring jpeg encoding.
Cedric BAIL [Tue, 6 Jan 2015 10:09:27 +0000 (11:09 +0100)]
eet: refactorize handling of endian.
Cedric BAIL [Fri, 3 Jan 2014 07:20:53 +0000 (16:20 +0900)]
eet: use eina_swap*() function instead of custom slower one.
Jean-Philippe Andre [Tue, 6 Jan 2015 10:15:07 +0000 (19:15 +0900)]
Evas fonts: Fix minor deviation in RLE font render
So I've discovered some weird output values after drawing
some text. The destination alpha would become 0xFE even
when the back buffer had a background with 0xFF alpha.
Example:
Dest is 0xff00ff00 (green).
Color is 0xffffffff (white).
Current font alpha is 170 (0xaa).
--> Output was 0xFEaaFEaa instead of 0xFFaaFFaa.
This is because of some slightly invalid calculation
when doing the font masking (mtab[v] = 0x55 above).
Indeed, MUL_256 takes alpha values in the range [1-256]
and not [0-256] as was assumed.
Felipe Magno de Almeida [Mon, 5 Jan 2015 20:59:09 +0000 (18:59 -0200)]
eolian-cxx: Fixed mixed inheritance between C and C++ classes
Removed genereation for Eo.Base primitive methods which segfault'ed
on parent_set function.
Vitor Sousa [Mon, 5 Jan 2015 17:41:37 +0000 (15:41 -0200)]
eolian_cxx: Using eina::optional to handle parameters without @nonull property
Vitor Sousa [Mon, 5 Jan 2015 17:35:49 +0000 (15:35 -0200)]
eina_cxx: Allow creating an eina::optional<T> from a type convertible to T
Vitor Sousa [Mon, 5 Jan 2015 17:26:11 +0000 (15:26 -0200)]
eo_cxx: Implicit conversion from C++ wrapper to void* via address_of operator
Vitor Sousa [Tue, 30 Dec 2014 23:18:40 +0000 (21:18 -0200)]
eolian_cxx: Fix compilation of inheritance from Eolian generated classes
Updated the code for the "inheritance helper" functions and classes
to be in conformance with the new wrapper architecture.
Member variable "parents" of efl::eo::eo_class struct was split in two
member variables, "ancestors" and "parents", the former containing all
Eo class ancestors and the later only the direct bases.
Changed all required files accordingly.
Check to avoid using biding string when the parameter is @out now matches
any variation of "char".
Add default constructor to efl::eo::concrete in order to allow it to be
NULL initialized in the "inheritance helper" classes.
Removed conflicting parent_set member function in the efl::eo::inherit
class.
Removed the "inheritance_extension_function" generator since it is no
longer used.
Larry Jr [Tue, 26 Aug 2014 18:54:28 +0000 (15:54 -0300)]
allow C++ user create new classes inheriting from Eolian generated Classes
Vitor Sousa [Tue, 23 Dec 2014 19:40:11 +0000 (17:40 -0200)]
eolian_cxx: Add implicit conversion of the returned pointer of C++ wrappers
Overloaded address-of operator for C++ Eolian wrappers for implicit converting
to any ancestor pointer type when getting the object memory address.
Added new grammars to aid the creation of the pointer wrappers
responsible of doing the implicit conversions.
Added a unit test which checks the address-of overload for arbitrary classes.
Added new .eo files to be used in it.
Vitor Sousa [Fri, 19 Dec 2014 16:34:15 +0000 (14:34 -0200)]
eolian_cxx: Fix "dreaded diamond" inheritance problem for C++ wrappers
Solved diamond inheritance problem by completely removing inheritance in
the abstract class.
All ancestors are inherited directly in the concrete class.
The algorithm that list the ancestors also avoid repetition.
Now concrete classes define methods too. This helps referring the correct
method directly by the object type (when there are methods with the same
name).
Moved the declaration and definition of constructor methods to the concrete
class, since they should not be used in derived classes.
Updated example that call "color_set".
With this model, if two ancestor classes have a method with the same name,
to call one of them from a derived class you must write the scoped name of
the member function in the wrapper.
In this case, either Evas.Object and Evas.SmartObject have a property
named "color".
Added "from_global" option to the full_name grammar too.
Vitor Sousa [Wed, 17 Dec 2014 13:47:19 +0000 (11:47 -0200)]
cxx: General C++ Eo wrapper generation improvement
Using a new architecture in the generated files that simplify multiple
inheritance and allows the use of interface types as parameters.
No longer using a hand-crafted C++ header for eo_base.eo.
This file was added to the generation process.
Updated all files that are dependent in the hand-crafted eo_base
C++ header.
Now there is a class that contains the essentials functions of the former
eo::base wrapper and that is used to create (through inheritance) the
"concrete" classes for all Eo generated wrappers.
No longer binding any function or property that are protected, private or
legacy for now.
eolian_type_instance is now a struct with general information for the
whole type.
Added the new header file namespace_generator.hh to hold namespace
generation grammars.
Separated declaration and definition of Eo wrappers methods.
Referring for most objects by its full name (starting at the global
namespace ::) in the generated files.
Created additional helper grammars to avoid code replication.
Removed a TODO comment referring to a doubt about inheritance of
constructor methods.
Added a TODO comment regarding memory allocation for callbacks in static
member functions.
Larry Jr [Thu, 14 Aug 2014 18:20:49 +0000 (15:20 -0300)]
catch exceptions in cxx wrappers and throw a eina_error
Vitor Sousa [Tue, 25 Nov 2014 18:18:08 +0000 (16:18 -0200)]
eolian_cxx: Fix: Using binding type for @out parameter instead of native type
No longer reverting to the native type when the parameter has "@out"
direction.
Added "is_out" member variable to eolian_type class.
With that, generators can keep track of the direction of the parameters.
Also added helper functions "type_is_out" and "type_is_complex".
Created "to_native" functions in eo_cxx_interop.hh to convert binding types
from C++ arguments to the actual C function arguments.
Added static assertions in these functions to enforce compatibility
between the binding and the native type (Required by @out parameters).
Reworked the overload of the "to_c" function for eo::base derivated
objects. Now there is a overload that rely in the compatibility
between the native type and the wrapper, enabling a wrapper to be used as
an output parameter.
Felipe Magno de Almeida [Sun, 26 Oct 2014 21:42:55 +0000 (19:42 -0200)]
eolian-cxx: Fixed C++ conversion for lists
Signed-off-by: Vitor Sousa <vitorsousasilva@gmail.com>
Larry Jr [Tue, 7 Oct 2014 18:06:01 +0000 (15:06 -0300)]
added new types in lookup table
Signed-off-by: Vitor Sousa <vitorsousasilva@gmail.com>
Vitor Sousa [Wed, 19 Nov 2014 15:59:21 +0000 (13:59 -0200)]
eolian_cxx: Fix callback handling on generated wrappers
Added callbacks to the event EO_EV_DEL for deleting heap-allocated
function objects. This will enforce that the allocated memory,
necessary for maintaining these callable objects alive, is freed at
least when the underlaying Eo object is destroyed.
Functions and constructor methods are now able to have multiple
callback types.
Removed some unused generators, since they become inconsistent now that
functions are required to handle multiple callback types.
Allocating callback objects in the constructor methods instead of
delaying it until the final constructor is called.
Created some generators to avoid code repetition.
Now the generator parameters_forward_to_c replicate the behavior of the
generator parameters_list. The generator parameters_list was, then,
removed since it have a less intuitive name.
Added a TODO comment regarding the behaviour of simple not translating
callbacks that are not followed by a user data pointer.
The generator parameter_type was moved from "parameters_generator.hh" to
"type_generator.hh" for more consistency and convenience.
Vitor Sousa [Tue, 11 Nov 2014 22:54:15 +0000 (20:54 -0200)]
eo_cxx: Fix leakage of eo objects by removing unnecessary "eo_ref"
Removed the call to eo_ref in the conversion from eo::base to the native
Eo* (in "to_c" function) in order to avoid eo objects being leaked.
Vitor Sousa [Tue, 11 Nov 2014 22:37:47 +0000 (20:37 -0200)]
eolian_cxx: Fix Eolian C++ generated wrapper inconsistencies
In convert.cc: Reading functions instead of implements to convert the
Eolian_Class. It avoids creation of methods that do not belong to the
class, in special it avoids calling the default constructor twice in the
generated code.
No longer generating one constructor in the C++ wrapper for each eolian
class constructor, since the correct behavior demands that all constructor
should be called. Now the wrappers have "constructor methods" that
must be called when creating a new object.
Updated test cases and examples to match the new interface. Some class
constructors and some test cases have to be removed since they were based
on the wrong assumption that constructors are mutually exclusive.
Created new generators for forwarding parameters and for looping over
the relevant parameters to the C++ wrapper executing a generic lambda.
Added a TODO comment regarding the call of constructor methods of all
base classes. Currently there is no base type with constructors, so this
situation should be discussed more.
Added a TODO comment regarding the way callback parameters are being
processed.
Vitor Sousa [Tue, 11 Nov 2014 15:03:59 +0000 (13:03 -0200)]
eolian_cxx: Assertions to ensure C++ wrapper compatibility with Eo*
Added static assertion in the generated header to ensure that the wrapper
have the same size of Eo*, thus grating compatibility between these types.
Added static assertion in the generated header to ensure that the wrapper
have standard layout. This should ensure correct type sizes when dealing
with inheritance.
Created a test to ensure that eo::base and the eolian wrappers have the
same size of a Eo*.
Added eolian_cxx_test_wrapper.cc to the list of test source files in
Makefile_Eolian_Cxx.am.
Vitor Sousa [Mon, 3 Nov 2014 16:26:08 +0000 (14:26 -0200)]
eina_cxx: Using eina::eina_init in all tests cases
Removed the eina_init call from the test suite main function to enforce
that each test case creates an instance of the eina::eina_init object.
Added an eina::eina_init object instanciation for each test case that
were lacking this code.
Vitor Sousa [Mon, 3 Nov 2014 13:47:17 +0000 (11:47 -0200)]
eina_cxx: Fix eina::array cend method recursive calling itself
@fix
Vitor Sousa [Mon, 3 Nov 2014 13:38:17 +0000 (11:38 -0200)]
eina_cxx: Fix eina::accessor for C++ Eo wrappers
Created a specialization of the eina::accessor for C++ Eo wrappers.
Created an override of the "accessor" methods in the eina::list specialization
for Eo wrappers (in eina_list.hh). It is necessary to create accessors with the
correct type.
Created specializations of std::is_base_of to avoid compilation errors related
with _Eo_Opaque type.
Added new test cases in "eina_cxx_test_accessor.cc" to test the accessor
specialization.
Added efl::eina::eina_init to the existing test cases to correctly do the
on demand initialization required by the tests.
@fix
Chris Michael [Mon, 5 Jan 2015 17:13:43 +0000 (12:13 -0500)]
ecore-evas: Fix compiler warnings about inproper returns
Summary: This fixes missing return values in functions that return
non-void
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Daniel Kolesa [Mon, 5 Jan 2015 10:48:46 +0000 (10:48 +0000)]
elua: more getopt.lua features
Argument count limit is now supported. The source has been cleaned up and
unified so that less code repeating is done. The module is now environment
safe, not depending on specific metatable being set on strings. More callbacks
have been added and error messages are now more descriptive.
Cedric BAIL [Mon, 5 Jan 2015 15:51:34 +0000 (16:51 +0100)]
edje: fix @since to match the next release.
Damn we release to fast ! Thanks davemds !
kabeer khan [Mon, 5 Jan 2015 14:12:30 +0000 (09:12 -0500)]
ecore_evas/wayland_shm: Set alpha of ecore_evas object if parent alpha is set
Summary:
Resolved FIXME ecore_evas_wayland_shm_new_internal to set alpha if parent alpha is set
Signed-off-by: kabeer khan <kabeer.khan@samsung.com>
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1842
vivek [Mon, 5 Jan 2015 14:09:02 +0000 (09:09 -0500)]
ecore_evas_wayland: Add null check conditions in ecore evas wayland module
Summary:
Added null check conditions to check ecore_evas pointer in various places
of ecore evas wayland common module
Signed-off-by: vivek <vivek.ellur@samsung.com>
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1812
Seunghun Lee [Mon, 5 Jan 2015 14:08:27 +0000 (09:08 -0500)]
ecore-drm: remove duplicated code from logind and tty.
Summary: integrates the code used in common.
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1796
Cedric BAIL [Mon, 5 Jan 2015 09:53:57 +0000 (10:53 +0100)]
edje: Edje_Edit - add API for renaming of image.
Reviewers: Hermet, raster, seoz, cedric
@feature
Subscribers: reutskiy.v.v
Projects: #efl
Differential Revision: https://phab.enlightenment.org/D1830
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Cedric BAIL [Mon, 5 Jan 2015 09:52:46 +0000 (10:52 +0100)]
edje: Edje_Edit - remake deletion and replacing of strings
Summary: Add new function for replacing string with using eina_stringshare_replace() and change _edje_if_string_free() to setup passed string to NULL.
@fix
Reviewers: raster, Hermet, seoz, cedric
Reviewed By: cedric
Subscribers: reutskiy.v.v
Projects: #efl
Differential Revision: https://phab.enlightenment.org/D1835
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Shinwoo Kim [Mon, 5 Jan 2015 04:42:52 +0000 (13:42 +0900)]
[edje] refine odd lines to delete _edje_timer
Summary: Refine odd lines to delete _edje_timer
Test Plan: Run example using edc programs to change state
Reviewers: raster, cedric, woohyun, jaehwan, Hermet
Reviewed By: Hermet
Subscribers: cedric, seoz
Differential Revision: https://phab.enlightenment.org/D1838
Vinícius dos Santos Oliveira [Fri, 2 Jan 2015 20:11:07 +0000 (17:11 -0300)]
[eina-cxx] fix: wrong parameter type preventing the use of copy ctor
"Eina_Stringshare *" type is interchangeable with "const char *".
The "stealing" constructor from efl::eina::stringshare was incorrectly
using "char *" instead "const char *", preventing it from being used.
zmike [Sat, 3 Jan 2015 04:21:34 +0000 (23:21 -0500)]
curl usage better accounts for timeouts
curl is dumb. it needs to poll its own fd for data, it gets confused with its own timeouts, and sometimes it forgets that it's supposed to be doing anything.
this fixes:
* connection timeout processing
* connection data processing order
also curl_multi_timeout calls are now done from a single function to handle all of this stupidness in one place
maybe backport after more testing...
Cedric BAIL [Tue, 30 Dec 2014 10:18:21 +0000 (11:18 +0100)]
ecore_con: SSL error function is waiting for Eo object not their private data.
Cedric BAIL [Tue, 30 Dec 2014 10:17:32 +0000 (11:17 +0100)]
ecore_con: the timer callback is waiting for the Eo object not its private data.
This @fix T1962 .
Andy Williams [Mon, 29 Dec 2014 16:54:50 +0000 (16:54 +0000)]
Make it clear in documentation that these methods are not implemented.
Even so return a more meaningful value - 0 is not a member of the Enum it returns.