Cedric BAIL [Fri, 3 Apr 2015 14:22:15 +0000 (16:22 +0200)]
ector: reorder macro for easier reuse.
Cedric BAIL [Fri, 3 Apr 2015 14:22:14 +0000 (16:22 +0200)]
ector: prepare doesn't need surface, as it should always be the parent.
Cedric BAIL [Fri, 3 Apr 2015 14:22:12 +0000 (16:22 +0200)]
efl: fix some whitespace.
Cedric BAIL [Fri, 3 Apr 2015 14:22:11 +0000 (16:22 +0200)]
ector: first implementation of an Cairo shape renderer.
Note: still a lot on the todo, but it should display something that follow
the correct path at least. Thanks librsvg for helping a lot.
Cedric BAIL [Fri, 3 Apr 2015 14:22:10 +0000 (16:22 +0200)]
ector: remove surface from draw command as it should be drawn on the parent, always !
Cedric BAIL [Fri, 3 Apr 2015 14:22:08 +0000 (16:22 +0200)]
ector: start implementing radial gradient in cairo backend.
Cedric BAIL [Fri, 3 Apr 2015 14:22:07 +0000 (16:22 +0200)]
ector: fix cairo linear gradient implementation.
Cedric BAIL [Fri, 3 Apr 2015 14:22:06 +0000 (16:22 +0200)]
eo_cxx: fix after change in internal function naming of Eo.
Cedric BAIL [Fri, 3 Apr 2015 14:22:04 +0000 (16:22 +0200)]
ector: now import header of all cairo renderer.
Cedric BAIL [Fri, 3 Apr 2015 14:22:03 +0000 (16:22 +0200)]
ector: cairo need a specialized fill function.
Cedric BAIL [Fri, 3 Apr 2015 14:22:02 +0000 (16:22 +0200)]
ector: first try at implementing linear gradient renderer.
Cedric BAIL [Fri, 3 Apr 2015 14:22:01 +0000 (16:22 +0200)]
ector: first implementation of a Cairo surface.
Cedric BAIL [Fri, 3 Apr 2015 14:22:00 +0000 (16:22 +0200)]
ector: add a base interface for all cairo renderer.
Cedric BAIL [Fri, 3 Apr 2015 14:21:59 +0000 (16:21 +0200)]
ector: fix building of the generic backend.
Cedric BAIL [Fri, 3 Apr 2015 14:21:58 +0000 (16:21 +0200)]
ector: fix building of cairo backend.
Cedric BAIL [Fri, 3 Apr 2015 14:21:57 +0000 (16:21 +0200)]
ector: move dependency around. Evas now depend on Ector.
Cedric BAIL [Fri, 3 Apr 2015 14:21:56 +0000 (16:21 +0200)]
ector: and here come the beginning of a Cairo backend.
The idea is that Evas engine will actually inherit from it to instanciate their
own Cairo backend (Software and GL) from there.
Cedric BAIL [Fri, 3 Apr 2015 14:21:54 +0000 (16:21 +0200)]
ector: add beginning of a cairo implementation.
Cedric BAIL [Fri, 3 Apr 2015 14:21:53 +0000 (16:21 +0200)]
ector: all those function needs to be static.
Cedric BAIL [Fri, 3 Apr 2015 14:21:52 +0000 (16:21 +0200)]
ector: share base type structure to the rest of ecore_private.h.
Cedric BAIL [Fri, 3 Apr 2015 14:21:50 +0000 (16:21 +0200)]
ector: duplicate PATH could be useful.
Cedric BAIL [Fri, 3 Apr 2015 14:21:49 +0000 (16:21 +0200)]
ector: add stop implementation.
Cedric BAIL [Fri, 3 Apr 2015 14:21:48 +0000 (16:21 +0200)]
efl: move PATH manipulation from Evas into Efl interfaces.
Cedric BAIL [Fri, 3 Apr 2015 14:19:11 +0000 (16:19 +0200)]
ector: start the implementation of a Cairo backend.
Cedric BAIL [Fri, 3 Apr 2015 14:18:30 +0000 (16:18 +0200)]
ector: start the implementation of the Generic surface.
Cedric BAIL [Fri, 3 Apr 2015 14:15:43 +0000 (16:15 +0200)]
ector: make the drawing function virtual as it rely on the backend implementation.
Cedric BAIL [Fri, 3 Apr 2015 14:15:41 +0000 (16:15 +0200)]
ector: move all interface to be in the Generic namespace.
This will enable the possibility to have many implementation for the
backend. Will come first Cairo, followed by Software and GL one day.
Cedric BAIL [Fri, 3 Apr 2015 14:15:40 +0000 (16:15 +0200)]
evas: make the interface part of the Generic name space.
This should enable having multiple backend that will use another namespace instead
of Generic.
Cedric BAIL [Fri, 3 Apr 2015 14:15:39 +0000 (16:15 +0200)]
ector: add linear and radial gradial renderer to Ector.
Cedric BAIL [Fri, 3 Apr 2015 14:15:37 +0000 (16:15 +0200)]
efl: introduce an Efl Gradient Radial interface.
Cedric BAIL [Fri, 3 Apr 2015 14:15:36 +0000 (16:15 +0200)]
efl: add a linear gradient interface.
Cedric BAIL [Fri, 3 Apr 2015 14:15:04 +0000 (16:15 +0200)]
ector: add top gradient renderer.
Cedric BAIL [Fri, 3 Apr 2015 14:15:03 +0000 (16:15 +0200)]
efl: add a gradient interface.
Cedric BAIL [Fri, 3 Apr 2015 14:15:02 +0000 (16:15 +0200)]
efl: rename geometry to graphics to be more general.
Cedric BAIL [Fri, 3 Apr 2015 14:15:00 +0000 (16:15 +0200)]
ector: add initial interface for a shape object.
Cedric BAIL [Fri, 3 Apr 2015 14:14:59 +0000 (16:14 +0200)]
autotools: add ector in the list of Eolian file provider.
Cedric BAIL [Fri, 3 Apr 2015 14:14:58 +0000 (16:14 +0200)]
ector: add initial interface for Surface and Renderer.
Cedric BAIL [Fri, 3 Apr 2015 14:14:56 +0000 (16:14 +0200)]
ector: initial introduction.
Idea for this library is to become a retained mode drawing library that use
Eo/Eolian for its API and take a lot of the good design from Enesim by
Jorge Zapata and Jose Gonzalez (http://enesim.org/).
Cedric BAIL [Fri, 3 Apr 2015 14:14:55 +0000 (16:14 +0200)]
efl: use Efl_Geometry_Shape.
Cedric BAIL [Fri, 3 Apr 2015 14:14:54 +0000 (16:14 +0200)]
efl: add an interface for Efl_Geometry_Shape.
Cedric BAIL [Fri, 3 Apr 2015 14:14:52 +0000 (16:14 +0200)]
evas: fix Evas_VG eo files.
Cedric BAIL [Fri, 3 Apr 2015 14:14:51 +0000 (16:14 +0200)]
evas: implement all Evas_VG_Shape property.
Cedric BAIL [Fri, 3 Apr 2015 14:14:50 +0000 (16:14 +0200)]
evas: actually compile Evas_VG_Shape.
Cedric BAIL [Fri, 3 Apr 2015 14:14:48 +0000 (16:14 +0200)]
evas: move Evas_VG_Node structure declaration into a shared header to use it directly from Evas_VG.
Cedric BAIL [Fri, 3 Apr 2015 14:14:47 +0000 (16:14 +0200)]
evas: fix prototype and correctly call the function.
Cedric BAIL [Fri, 3 Apr 2015 14:14:46 +0000 (16:14 +0200)]
evas: declare internal evas_vg helper.
Cedric BAIL [Fri, 3 Apr 2015 14:14:19 +0000 (16:14 +0200)]
eo: internal variable should not have that much chance to conflict prefix them with ___.
Cedric BAIL [Fri, 3 Apr 2015 14:13:13 +0000 (16:13 +0200)]
evas: handle path set on shape object.
Cedric BAIL [Fri, 3 Apr 2015 14:13:12 +0000 (16:13 +0200)]
evas: implement stupid bound get at container level.
Cedric BAIL [Fri, 3 Apr 2015 14:13:11 +0000 (16:13 +0200)]
evas: add Efl.File interface to Evas_Object_VG.
Cedric BAIL [Fri, 3 Apr 2015 14:13:07 +0000 (16:13 +0200)]
evas: add Evas_VG_Image.
Cedric BAIL [Fri, 3 Apr 2015 14:13:06 +0000 (16:13 +0200)]
evas: implement Evas_VG_Node stacking functions.
Cedric BAIL [Fri, 3 Apr 2015 14:13:05 +0000 (16:13 +0200)]
evas: Evas_VG_Root_Node should only be attached to an Evas_Object_VG.
Cedric BAIL [Fri, 3 Apr 2015 14:13:03 +0000 (16:13 +0200)]
evas: remove unecessary duplicated code.
Cedric BAIL [Fri, 3 Apr 2015 14:13:02 +0000 (16:13 +0200)]
evas: add evas_vg note.
Cedric BAIL [Fri, 3 Apr 2015 14:13:00 +0000 (16:13 +0200)]
evas: add utility function to build path.
Cedric BAIL [Fri, 3 Apr 2015 14:12:59 +0000 (16:12 +0200)]
evas: add initial Evas_Object_VG.
Evas_Object_VG is meant to become an object that can hold a SVG
scenegraph inside of it.
Cedric BAIL [Fri, 3 Apr 2015 14:12:48 +0000 (16:12 +0200)]
eina: add eina_matrix.
This code come from Enesim and was done by Jorge. I did just take care
of changing the namespace and coding style.
ChunEon Park [Fri, 3 Apr 2015 10:38:33 +0000 (19:38 +0900)]
evas/common Fixed incorrect blend pixel color logic in neon.
previously, it had the remaining value issues on blending computation.
The blending color result was in correct.
Signed-Off-By: Vladimir Kuramshin <v.kuramshin@samsung.com>
Jean-Philippe ANDRE [Fri, 3 Apr 2015 08:55:12 +0000 (17:55 +0900)]
Evas GL common: Fix shaders for GLX
Oops! There had to be a breakage somewhere. That's it :)
Thanks Oleksander Shcherbina for the report.
Fixes T2266.
Jean-Philippe Andre [Fri, 3 Apr 2015 06:37:09 +0000 (15:37 +0900)]
Evas GL common: Fix GL masking with 12,21,22 sampling
This is a new feature introduced by the shaders refactoring:
even masking shaders now support smooth sampling of the masked image
using the special 12,21,22 shaders.
Also, refactor the list of texture bindings so that it's
automatically generated by the script, as opposed to being a
manual list...
Jean-Philippe Andre [Fri, 3 Apr 2015 02:01:59 +0000 (11:01 +0900)]
Evas GL common: Fix shader sampling and check nomul
Now that the shader select function checks the values of "sam"
and "nomul", we can avoid sending the color to the shader when
it's a "nomul" shader. This will most likely give a performance
boost of roughly 0.
00000001%.
Jean-Philippe Andre [Thu, 2 Apr 2015 06:50:33 +0000 (15:50 +0900)]
Evas GL common: Factorize GL shader selection code
Improve the shader selection function to handle all possible
cases. Only images really need special handling as they
support so many parameters.
Jean-Philippe Andre [Wed, 1 Apr 2015 06:15:51 +0000 (15:15 +0900)]
Evas GL common: Factorize shader generation code
Remove all individual shaders, factorize everything into
one vertex and one fragment shader. All previous functionality
has been kept as is[*]. Some new features have been added
(new shader types).
This is a first step in simplifying and improving the shaders system.
Next: simplify shader selection
[*] Yeah, that's quite a bold statement here. Maybe I broke everything.
Jean-Philippe Andre [Wed, 1 Apr 2015 07:40:09 +0000 (16:40 +0900)]
Evas masking: Remove map_mask shaders
Those are now duplicates of IMG_MASK
Mike Blumenkrantz [Thu, 2 Apr 2015 19:20:21 +0000 (15:20 -0400)]
edje: move Edje_Color_Class->desc to end of struct
this allows memory layout compatibility with Elm_Color_Class
Mike Blumenkrantz [Thu, 2 Apr 2015 17:05:09 +0000 (13:05 -0400)]
edje: return immediately when setting color class if class is not in use
Daniel Kolesa [Thu, 2 Apr 2015 15:18:37 +0000 (16:18 +0100)]
elua: lualian generator code cleanup
Daniel Kolesa [Thu, 2 Apr 2015 14:08:47 +0000 (15:08 +0100)]
elua: cleanup lualian class generation
Stefan Schmidt [Thu, 2 Apr 2015 13:48:58 +0000 (15:48 +0200)]
edje_cc: Add options -V/--version to show edje_cc version.
Requested to ease debugging on deployments.
Fixes T2213
Stefan Schmidt [Thu, 2 Apr 2015 13:40:05 +0000 (15:40 +0200)]
eet: Add options -V/--version to show eet version.
Requested to ease debugging on deployments.
ref T2213
Stefan Schmidt [Thu, 2 Apr 2015 13:32:06 +0000 (15:32 +0200)]
eet: List -h option in help message
woochan lee [Thu, 2 Apr 2015 12:47:42 +0000 (14:47 +0200)]
Eeze.h: Delete white space.
Summary: Delete white space in Eeze.h
Reviewers: cedric, Sergeant_Whitespace
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2246
Carsten Haitzler (Rasterman) [Thu, 2 Apr 2015 02:50:08 +0000 (11:50 +0900)]
ecore_evas - eetpack utility for packing files (imgs) into eet files
this adds a new utility called "eetpack" that uses eet, ecore_evas,
eina and evas to stuff images with various compressions/encodings (as
well as raw data in a simple way) into eet files like edj files or any
eet archive. can be used in combination with the "eet" utility and
edje_cc generated edj files.
@feature
Daniel Kolesa [Wed, 1 Apr 2015 13:22:00 +0000 (14:22 +0100)]
elua: only check gettability in __index with no keys
Daniel Kolesa [Wed, 1 Apr 2015 13:19:49 +0000 (14:19 +0100)]
elua: clarify comments in eo.lua (explain how the property system works)
Carsten Haitzler (Rasterman) [Wed, 1 Apr 2015 11:43:54 +0000 (20:43 +0900)]
efreetd - cache - fix handling a text index file with 0 length lines
this fixes an efreetd cache crash where files like icon.exts might
have lines with just a newline and no extension/content on the line.
@fix
Andrii Kroitor [Wed, 1 Apr 2015 11:23:38 +0000 (07:23 -0400)]
edje_calc: fix SEGFAULT on new parts
Summary: new part added with edje_edit_part_add has NULL previous description
Reviewers: cedric, zmike, seoz, Hermet, raster
Subscribers: FurryMyad, cedric, reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D2272
Stefan Schmidt [Wed, 1 Apr 2015 08:23:00 +0000 (10:23 +0200)]
ecore: Move documentation for ecore_timer_add at the correct place.
Many thanks to Vinicius dos Santos Oliveira for spotting this and
pointing it out on the mailing list.
Mike Blumenkrantz [Wed, 1 Apr 2015 03:28:33 +0000 (23:28 -0400)]
edje calc now more correctly forces recalc for child groups on state change
in the event of fixed size -> non-fixed size (eg. previous commit optimization),
this calc would no longer occur, so we need to queue it. also if fixed.w or
fixed.h changes value for a group part, we must recalc the group to ensure correct
sizing occurs
Mike Blumenkrantz [Wed, 1 Apr 2015 03:27:01 +0000 (23:27 -0400)]
edje calc no longer performs calculations for group parts of fixed size > 0
when I said > 0 in the last commit message, I was thinking ahead to this commit
which I knew I would later have to make, but had not yet written because I had not
spent the requisite number of hours debugging the code to know that I needed to
have the check in both the code and the commit message
ref
3a451650d2f875077419e5777c49d04c618211f0
Jean-Philippe Andre [Wed, 1 Apr 2015 02:01:48 +0000 (11:01 +0900)]
Evas masking: Implement polygon masking (GL)
Jean-Philippe Andre [Wed, 1 Apr 2015 01:54:45 +0000 (10:54 +0900)]
Evas masking: Ensure texture is up-to-date before drawing (GL)
Jean-Philippe Andre [Wed, 1 Apr 2015 01:42:14 +0000 (10:42 +0900)]
Evas GL common: whitespace fixes
Jean-Philippe Andre [Wed, 1 Apr 2015 01:39:36 +0000 (10:39 +0900)]
Evas masking: Implement line masking in GL
This commit also introduces a few whitespace changes...
Jean-Philippe Andre [Wed, 1 Apr 2015 00:58:05 +0000 (09:58 +0900)]
Evas GL generic: Simplify "scaled" images (used for masking)
Invert the meaning of scaled (w,h), so that im->(w,h) corresponds
to the final scaled size, and the original size is stored directly
in the texture itself.
This simplifies code a little bit.
Also, lift the limitation on the maximum texture size, as those
virtual textures are not limited by GPU texture size.
Jean-Philippe Andre [Tue, 31 Mar 2015 09:58:51 +0000 (18:58 +0900)]
Evas masking: Refactor GL code
Use the same method as for map masking:
- Pass absolute geometry of the mask to the push functions,
- Compute absolute position in the shader (like gl_Position)
and apply scaling factor + offset to sample the mask.
Masking now uses a single vec4 attribute instead of hi-jacking
other vertices.
This way, all masking shaders share the same code and are way
simpler. On the other hand, the vertex shaders have a little bit
more work to do.
Carsten Haitzler (Rasterman) [Wed, 1 Apr 2015 00:30:13 +0000 (09:30 +0900)]
ecore_file - fix nasty memory issues in ecore_file_app_exe_get()
valgrind was most unhappy with ecore_file_app_exe_get(). like:
==8331== Invalid write of size 1
==8331== at 0x68DE90A: ecore_file_app_exe_get (ecore_file.c:994)
==8331== Address 0x1348e58f is 0 bytes after a block of size 31 alloc'd
==8331== at 0x4C28C20: malloc (vg_replace_malloc.c:296)
==8331== Invalid write of size 1
==8331== at 0x68DE948: ecore_file_app_exe_get (ecore_file.c:1000)
==8331== Address 0x1348e599 is 10 bytes after a block of size 31 alloc'd
==8331== at 0x4C28C20: malloc (vg_replace_malloc.c:296)
etc. etc. - so i rewrote it cleanly using strbuf to save code and
effort. cleaner now and ACTUALLY works correctly... and no valgrind
complaints.
@fix
Mike Blumenkrantz [Tue, 31 Mar 2015 23:15:17 +0000 (19:15 -0400)]
edje object swallowing no longer forces a full recalc
this (and/or related prior commits) seems to have hugely improved
edje performance across the board. particularly noticeable in the
settings pane animations for terminology
#aprilfools
Mike Blumenkrantz [Tue, 31 Mar 2015 23:12:26 +0000 (19:12 -0400)]
edje object scale factor changes now trigger deferred recalcs
as with the previous commit, any user who wants geometry immediately
will be calling calc functions, so this is just going to be redundant
except in cases where calc is not wanted, in which case it is unnecessary
overhead
Mike Blumenkrantz [Tue, 31 Mar 2015 23:11:24 +0000 (19:11 -0400)]
edje group part init no longer forces synchronous hint updating during load
hints will be updated later and any user who wants these hints is going to
be calling edje calc functions anyway, causing this to be a redundant calc
Mike Blumenkrantz [Tue, 31 Mar 2015 23:10:02 +0000 (19:10 -0400)]
edje calc no longer forces proxy part source calcs for currently-hidden proxies
this saves a bit of calc time when a proxy part is not currently visible
Mike Blumenkrantz [Tue, 31 Mar 2015 23:07:46 +0000 (19:07 -0400)]
edje calc no longer performs calculations for group parts of fixed size
if the min/max of a part are identical and > 0, the part's min size is guaranteed
to be this size. there is no need to perform expensive recursive calcs here
Cedric BAIL [Tue, 31 Mar 2015 21:23:32 +0000 (23:23 +0200)]
edje: add edje_file_iterator_new().
This list the actually opened Edje file by the current process.
Cedric BAIL [Tue, 31 Mar 2015 21:21:12 +0000 (23:21 +0200)]
edje: fix build break.
Cedric BAIL [Tue, 31 Mar 2015 19:57:23 +0000 (21:57 +0200)]
edje: add edje_mmap_color_class_iterator_new().
This function make it possible to list the Color class of a specific Edje file.
Dinesh Dwivedi [Tue, 31 Mar 2015 15:40:30 +0000 (17:40 +0200)]
edje: add option to dump gnu style include dependencies in edje_cc.
Summary:
We were facing one problem in tizen sdk's build system as it does not trigger build for edc file
if only sub-edc files are changed. During analysis, we found that there is no option in edje_cc
for dumping include dependencies which other compiler (clang/ gcc etc) does have. We can do other
hack to solve this problem but it will be great if edje_cc can emit gnu style include dependency
target.
This patch will add support to generate gnu format include dependency file while compiling edc file.
similar to what gcc generates with option '-MMD -MF=<dep_file> -MT<dep_file>'
https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/Preprocessor-Options.html
Test Plan: no failure in existing test
Reviewers: raster, cedric
Reviewed By: cedric
Projects: #efl
Differential Revision: https://phab.enlightenment.org/D2263
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Minkyoung Kim [Tue, 31 Mar 2015 05:13:06 +0000 (14:13 +0900)]
evas/software_x11: Environment can influence the flow when the value is 1 not else.
Summary: Do not try swapbuf init only if value of env 'EVAS_NO_DRI_SWAPBUF' is 1.
Reviewers: jpeg
Subscribers: spacegrapher, cedric, wonsik
Differential Revision: https://phab.enlightenment.org/D2259
Cedric BAIL [Tue, 31 Mar 2015 03:36:38 +0000 (05:36 +0200)]
edje: get the color class value by iterating over all possible value provider.
Cedric BAIL [Tue, 31 Mar 2015 02:24:48 +0000 (04:24 +0200)]
edje: add edje_color_class_active_iterator_new()
This function make it possible to get a list of active Edje_Color_Class
in an application. Think about Enlightenment color class configuration,
but can now be done on any application dynamically.
@feature