platform/upstream/efl.git
8 years agoecore_evas: change ECORE_EVAS_RENDER_SYNC to NOSYNC and non-default
Derek Foreman [Thu, 24 Mar 2016 16:15:57 +0000 (12:15 -0400)]
ecore_evas: change ECORE_EVAS_RENDER_SYNC to NOSYNC and non-default

Summary:
commit f9e655046868cb83cbc9ac2dcd139e3540e89285 Changed the RENDER_SYNC
the default behaviour (previously it was something you had to
change source code to set that way)

This leads to massive amounts of tearing with the drm and gl_drm backends,
as they no longer wait for vblank before rendering.

I've changed the env var to ECORE_EVAS_RENDER_NOSYNC and made it
non-default as it used to be.  People can set the env var to disable
frame limiting instead of having to set an env var to enable it.

Frame limiting really should be the default behaviour.

Reviewers: zmike, devilhorns

Reviewed By: devilhorns

Subscribers: cedric, jpeg

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

8 years agoecore_wayland: Add a new API to get keymap - ecore_wl_input_keymap_get()
JengHyun Kang [Thu, 24 Mar 2016 12:53:15 +0000 (08:53 -0400)]
ecore_wayland: Add a new API to get keymap  - ecore_wl_input_keymap_get()

Summary:
Each Ecore_Wl_Input structure has there own keymap.
         This keymap is struct xkb_keymap used in libxkbcommon lib and
         the client can get this keymap from server in wayland system.
         So if the client want to get keymap and use some libxkbcommon APIs,
         use this API to get keymap.

Test Plan: Use this api after initialize wayland system.

Reviewers: raster, zmike, ManMower, devilhorns

Reviewed By: devilhorns

Subscribers: input.hacker, ohduna, cedric, jpeg

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

8 years agoecore_imf/wayland: fix IME flickering issue when input_panel_hide and show is called...
Jihoon Kim [Thu, 24 Mar 2016 11:31:48 +0000 (20:31 +0900)]
ecore_imf/wayland: fix IME flickering issue when input_panel_hide and show is called sequentially

Change-Id: Ieafa9cd921cc8d68c64af6b72404ef52e7bbf724

8 years agoEvas textblock: fix null-derefernce in _style_match_tag()
Jiwon Kim [Thu, 24 Mar 2016 08:14:50 +0000 (10:14 +0200)]
Evas textblock: fix null-derefernce in _style_match_tag()

Summary:
add null check in _style_match_tag()
if evas_object_textblock_text_markup_set() is called with markup text before setting style,
segmentation fault is occurred in _style_match_tag()
@fix

Test Plan:
Insert this situation to test suite
 -> test id : evas_textblock_simple

Test for without this patch:
 1. apply patch just "src/tests/evas/evas_test_textblock.c" partially.
 2. $make check

Test for with this patch:
 1. apply this patch completely (2 files)
 2. $make check

Reviewers: id213sin, herdsman

Subscribers: Blackmole, cedric, jpeg

Projects: #efl

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

8 years agoEvas 3d: Fix typo in previous commit
Jean-Philippe Andre [Thu, 24 Mar 2016 02:08:57 +0000 (11:08 +0900)]
Evas 3d: Fix typo in previous commit

I didn't reject so I can push this now.

8 years agoevas.canvas3d: Remove repeated code in e3d_drawable_new function
Oleksandr Shcherbina [Thu, 24 Mar 2016 02:07:53 +0000 (11:07 +0900)]
evas.canvas3d: Remove repeated code in e3d_drawable_new function

Reviewers: cedric, Hermet, raster

Subscribers: jpeg

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

8 years agoEdje: Fix eo error with call to invalid image method
Jean-Philippe Andre [Thu, 24 Mar 2016 01:34:52 +0000 (10:34 +0900)]
Edje: Fix eo error with call to invalid image method

Only Efl.Canvas.Proxy implements efl_canvas_proxy_source_clip_set.
Legacy image objects should use legacy APIs.

Thanks @zmike for the report and sorry I never saw the ERR myself :(

Fixes T3342

8 years agotests: add dependency on simple.eo.hh for new eina_cxx iterator test
Stefan Schmidt [Wed, 23 Mar 2016 15:43:23 +0000 (16:43 +0100)]
tests: add dependency on simple.eo.hh for new eina_cxx iterator test

With commit fd0cf8b76459da70e2ef0116b19a322913cc92bb we got a new test for
eina_cxx iterator. Like some other tests it needs to have the eimple.eo.hh
header already generated. Make sure we note this dependency in the build as
it fails without.

8 years agoEcore: Move all of the duplicate type definitions to ecore_types.eot.
Tom Hacohen [Wed, 23 Mar 2016 15:05:20 +0000 (15:05 +0000)]
Ecore: Move all of the duplicate type definitions to ecore_types.eot.

8 years agoEctor: add ector_types.eot for ector type definitions.
Tom Hacohen [Wed, 23 Mar 2016 14:59:40 +0000 (14:59 +0000)]
Ector: add ector_types.eot for ector type definitions.

This fixes the GLShort duplicate declaration.

8 years agoexamples: adjust include path for headers no longer public headers
Stefan Schmidt [Wed, 23 Mar 2016 13:59:21 +0000 (14:59 +0100)]
examples: adjust include path for headers no longer public headers

Since commit a4f0f08399de85b382603bc57e7a480872e85915 these header files are
no longer installed. Make sure the example have the correct path to actually
find teh files. If we no longer consider them public we might want to think
about removing the examples for them.

This commit fixes the examples build only.

8 years agoexamples: mark unused argument to avoid warning
Stefan Schmidt [Wed, 23 Mar 2016 13:58:31 +0000 (14:58 +0100)]
examples: mark unused argument to avoid warning

8 years agoevas_object_textgrid: try bolditalic if original is book
Boris Faure [Wed, 23 Mar 2016 14:32:50 +0000 (15:32 +0100)]
evas_object_textgrid: try bolditalic if original is book

8 years agoevas_object_textgrid: also try bold font when original is of weight Book
Boris Faure [Wed, 23 Mar 2016 14:26:56 +0000 (15:26 +0100)]
evas_object_textgrid: also try bold font when original is of weight Book

and add debug

8 years agoEvas font: fix width calc in last_up_to_pos
Daniel Hirt [Wed, 23 Mar 2016 09:53:53 +0000 (11:53 +0200)]
Evas font: fix width calc in last_up_to_pos

Width calculations should consider the x_bear. This has been leading to
inconsistent results between wrapping calculation during layout and the
final formatted size.

Also, we should stop our walk only when exceeding 'x', so changed "<="
to "<".

@fix

8 years agoDocs: change 'emittion' to 'emission'
Shuhrat Dehkanov [Wed, 23 Mar 2016 10:22:44 +0000 (11:22 +0100)]
Docs: change 'emittion' to 'emission'

Reviewers: cedric, stefan_schmidt

Subscribers: minkyu, cedric, seoz, jpeg

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

8 years agoEfl_file: add more information into the documentation
Ji-Youn Park [Tue, 22 Mar 2016 12:33:55 +0000 (21:03 +0830)]
Efl_file: add more information into the documentation

8 years agoEvas: Add missing cspaces to data_get/put (sw engine)
Jean-Philippe Andre [Tue, 22 Mar 2016 04:37:46 +0000 (13:37 +0900)]
Evas: Add missing cspaces to data_get/put (sw engine)

Also, remove abort() in default case. Leftover abort()
can actually make applications crash.

8 years agoevas: NEON scaling up fixed
Jean-Philippe Andre [Tue, 22 Mar 2016 04:49:00 +0000 (13:49 +0900)]
evas: NEON scaling up fixed

Summary:
Previous implementation loaded data from memory first and then checked the borders.
Here I check the borders first as it is for C implementation.
This prevents read of non-accessible memory.

Reviewers: cedric, jypark, Hermet, jiin.moon, jpeg

Reviewed By: jpeg

Projects: #efl

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

8 years agoecore_evas: change RENDER_SYNC from define to env
Ji-Youn Park [Tue, 22 Mar 2016 03:51:29 +0000 (12:21 +0830)]
ecore_evas: change RENDER_SYNC from define to env

outside needs to turn on/off RENDER_SYNC feature.
env val: ECORE_EVAS_RENDER_SYNC.

8 years agoRevert "edje: seems like preloading is fixed and we can now run edje_cc in //"
Cedric Bail [Tue, 22 Mar 2016 02:46:30 +0000 (19:46 -0700)]
Revert "edje: seems like preloading is fixed and we can now run edje_cc in //"

This reverts commit e6a27e13b54a024ca849b9fd798398d51f2e27f8.

While preloading itself is fixed, we forgot a little detail there is limit to
the amount of files we can open on any system. This is high enough on Linux that
we never see the issue, but on MacOS X, we can't even build elementary theme.

Reverting this for now and until we have a proper fix for this.

8 years agoevas: make no longer supported object, legacy only.
Cedric BAIL [Mon, 21 Mar 2016 23:31:26 +0000 (16:31 -0700)]
evas: make no longer supported object, legacy only.

So I forgot to clean my hard drive from previously generated files,
and obviously everything still worked. This lead to having to roll back
evas_smart_clipped.eo as a public eo object until we merge elementary.

Still I would like someone to take a look at elm_pan.eo and figure out
how to not rely on smart clipped there.

8 years agoevas: actually we still do need those header for the legacy API
Cedric BAIL [Mon, 21 Mar 2016 23:03:36 +0000 (16:03 -0700)]
evas: actually we still do need those header for the legacy API

8 years agoevas: disable installation of no longer supported Eo object for EFL 2.0.
Cedric BAIL [Mon, 21 Mar 2016 22:01:36 +0000 (15:01 -0700)]
evas: disable installation of no longer supported Eo object for EFL 2.0.

8 years agoeina_cxx: fix Coverity warning regarding uninitialized iterator member
Vitor Sousa [Mon, 21 Mar 2016 20:27:46 +0000 (17:27 -0300)]
eina_cxx: fix Coverity warning regarding uninitialized iterator member

8 years agoevas-wayland-shm: Fix rotation for wayland shm engine
Chris Michael [Mon, 21 Mar 2016 13:29:32 +0000 (09:29 -0400)]
evas-wayland-shm: Fix rotation for wayland shm engine

Prior to this fix, window rotation was not operating correctly and the
surface contents would get rendered at the wrong size and position.
This patch fixes the engine so that rotation operates properly now.

NB: Tested with the Window States(2) test in elementary

Thanks to shiin for reporting :)

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
8 years agoecore_imf/wayland: use default preedit style
Jihoon Kim [Mon, 21 Mar 2016 07:36:42 +0000 (16:36 +0900)]
ecore_imf/wayland: use default preedit style

Change-Id: Iffb2d450923bbde191c4928253f133b13608a8e8

8 years agoeina_file: move doc block about eina_file_path_join from inline to file.h
Boris Faure [Sat, 19 Mar 2016 14:55:21 +0000 (15:55 +0100)]
eina_file: move doc block about eina_file_path_join from inline to file.h

8 years agoEvas.Draggable_Interface: add drag_target property
Ji-Youn Park [Fri, 18 Mar 2016 09:04:59 +0000 (17:34 +0830)]
Evas.Draggable_Interface: add drag_target property

object can set this property true if object can be target of dragging content.

8 years agoefl js: Add clean up callbacks to deallocate memory used in v8::External
Vitor Sousa [Wed, 16 Mar 2016 22:46:22 +0000 (19:46 -0300)]
efl js: Add clean up callbacks to deallocate memory used in v8::External

Add several garbage collector callbacks for cleaning allocated C and C++
data used inside v8:External objects.

Fix eo_unref of already freed object in eo_js_construct_from_eo.hh.

Ensure all structs are allocated with malloc.

Add test for garbage collection.
Had to created .sh script because shebang clause do not support multiple
arguments.

8 years agoefl js: Finish Eina_Iterator binding
Vitor Sousa [Wed, 16 Mar 2016 19:08:45 +0000 (16:08 -0300)]
efl js: Finish Eina_Iterator binding

8 years agoefl js: Fix naming of manual binding functions.
Lauro Moura [Tue, 15 Mar 2016 21:00:20 +0000 (18:00 -0300)]
efl js: Fix naming of manual binding functions.

Also removed references to the discarded manual binding "ecore_js_file".

8 years agoeina_cxx: Add missing methods to Eina C++ wrappers
Vitor Sousa [Wed, 9 Dec 2015 17:32:04 +0000 (15:32 -0200)]
eina_cxx: Add missing methods to Eina C++ wrappers

Also fix release_native_handle type error on mutable ranges.

8 years agoeina_cxx: Add specialized eina::iterator for Eo* wrappers
Vitor Sousa [Tue, 1 Dec 2015 19:25:11 +0000 (17:25 -0200)]
eina_cxx: Add specialized eina::iterator for Eo* wrappers

Add specialization of eina::iterator for Eo* C++ wrappers.

Specialize ibegin/iend methods in eina::list and eina::array of
Eo* wrappers to use the new eina::iterator.

Add unit test.

8 years agoefl js: Update Javascript binding to compile with new Eolian API
Vitor Sousa [Mon, 14 Mar 2016 16:14:37 +0000 (13:14 -0300)]
efl js: Update Javascript binding to compile with new Eolian API

Reword test method names to check naming convention.

8 years agoevas.canvas3d: fix wrong output in evas-3d-pick example
Oleksandr Shcherbina [Fri, 18 Mar 2016 18:55:04 +0000 (11:55 -0700)]
evas.canvas3d: fix wrong output in evas-3d-pick example

Summary:
Since that
https://git.enlightenment.org/core/efl.git/commit/?id=c850cc0d80b754be851576083eba27a72b58b9f2
we don't use scene object for recalculation pick coordinates.
@fix

Reviewers: cedric, Hermet, raster

Subscribers: jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
8 years agoedje_cc: make script_override default value as EINA_FALSE
Jee-Yong Um [Fri, 18 Mar 2016 18:52:52 +0000 (11:52 -0700)]
edje_cc: make script_override default value as EINA_FALSE

Summary:
script_override variable is initialized as EINA_FALSE
when group is created, but assign EINA_TRUE can mislead
some developers to think script_override default value
is EINA_TRUE.

Reviewers: Jaehyun_Cho

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
8 years agoevas: include Eet.h as we do export a function using Eet_Data_Descriptor.
Cedric Bail [Fri, 18 Mar 2016 17:08:15 +0000 (10:08 -0700)]
evas: include Eet.h as we do export a function using Eet_Data_Descriptor.

This was spotted by Nicolas Aguirre while building on Yocto which has
more agressive build option and warning.

8 years agoevas: add eglfs evas module.
Nicolas Aguirre [Fri, 18 Mar 2016 07:56:59 +0000 (08:56 +0100)]
evas: add eglfs evas module.

EGL Fullscreen is a module intended to support many proprietary GL driver that come
with custom API to create framebuffer/window. This one is starting by covering Android
with libhybris/hwcomposer. Later on, it should be able to support easily the Raspberry Pi
driver.

At this moment this does not work properly. Activate it at your own risk ! Do not report
bug if you don't know what you are doing :-) A backend for Ecore_Evas will come later on
along with a patch for Ecore_FB to use libinput. Finally a few patch should hopefully
enable this backend to work and compile more easily (relying on proper header detection
and dlopen/dlsym for access to proprietary function).

You can read more about the goal of this patch by reading our wiki at :
https://phab.enlightenment.org/w/boot2efl/

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
8 years agoevas: remove check for wayland-egl version.
Clément Bénier [Fri, 11 Dec 2015 15:27:24 +0000 (16:27 +0100)]
evas: remove check for wayland-egl version.

wayland-egl minimal version currently checked is 9.2.0 which is the
Mesa version of wayland-egl. If wayland-egl is shipped with closed
source drivers or in case of libhybris, the wayland-egl.pc pontetially
contains a different value. This commit remove the check for the
version.

Signed-off-by: Nicolas Aguirre <aguirre.nicolas@gmail.com>
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
8 years agoevas-wayland-shm: Override image_native init and shutdown functions
Chris Michael [Fri, 18 Mar 2016 12:53:35 +0000 (08:53 -0400)]
evas-wayland-shm: Override image_native init and shutdown functions

A previous commit added these functions so we can test if native image
is supported, however that commit did not actually override this
functions (evas api override). This small patch simply does that.

ref 20b4d9dd6adb88f9dd0cd51fa849f0c360432279

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
8 years agoevas-wayland-egl: Override image_native init and shutdown functions
Chris Michael [Fri, 18 Mar 2016 12:50:54 +0000 (08:50 -0400)]
evas-wayland-egl: Override image_native init and shutdown functions

If we are going to define native_init & native_shutdown functions,
then we should probably be using them ;) Also, as this is a wayland
egl engine, we can return from native_init based on
eglQueryWaylandBufferWL

ref 20b4d9dd6adb88f9dd0cd51fa849f0c360432279

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
8 years agoedje_edit: program's source and signal CAN be NULL
Vitalii Vorobiov [Fri, 18 Mar 2016 12:00:51 +0000 (14:00 +0200)]
edje_edit: program's source and signal CAN be NULL

Or else user can't remove them, only by writing source/signal like "" or some
gibberish which is still getting interprettered as source and signal

8 years agotests: Remove unused variables (evas_image)
Jean-Philippe Andre [Fri, 18 Mar 2016 04:53:39 +0000 (13:53 +0900)]
tests: Remove unused variables (evas_image)

8 years agoedje_cc: fix inheriting script from other group
Jee-Yong Um [Fri, 18 Mar 2016 04:30:55 +0000 (13:30 +0900)]
edje_cc: fix inheriting script from other group

Summary:
If a group inherits from the other, group script block is copied
only when there are program script blocks in parent group.
This patch makes edje_cc always copies group script block,
but allows to override group script block in child group.
The content of reverted D3799 is included. That reveals this inconsistency.

Reviewers: cedric

Subscribers: Jaehyun_Cho, woohyun, jpeg

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

8 years agoEfl.Gfx.Fill: Rename filled to fill_auto
Jean-Philippe Andre [Fri, 18 Mar 2016 02:50:48 +0000 (11:50 +0900)]
Efl.Gfx.Fill: Rename filled to fill_auto

fill_filled is a strange name for the property.
fill_auto seems to make more sense. If you disagree, scream at
me or revert this commit.

8 years agoEvas.Image: (eo) fill_set now unsets the filled flag
Jean-Philippe Andre [Fri, 18 Mar 2016 02:29:55 +0000 (11:29 +0900)]
Evas.Image: (eo) fill_set now unsets the filled flag

There's no point in calling fill_set AND fillet_set(false).
If a users wants to specify the fill, that should be enough
to switch to non-filled mode.

Maybe the "filled" mode should even be called auto or something?

8 years agoevas/gl_x11 : Move engine data to native.
Minkyoung Kim [Thu, 17 Mar 2016 09:20:49 +0000 (18:20 +0900)]
evas/gl_x11 : Move engine data to native.

Summary:
If 2 evases refer to same pixmap, use same EvasGL_Image.
But EvasGL_Image can have only one engine data.
When evas related to native is destroyed and another evas use that native, crash occur.
So native callbacks need to be independent to engine data.

Test Plan: mobile, local test

Reviewers: cedric, spacegrapher, wonsik, jpeg

Reviewed By: jpeg

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

8 years agoRevert "edje: remove unnecessary repetition during copying code"
Jaehyun Cho [Fri, 18 Mar 2016 02:31:45 +0000 (11:31 +0900)]
Revert "edje: remove unnecessary repetition during copying code"

This reverts commit 37408aef95ee5794f9030ece34be9d6b097d064e.

This commit is reverted temporarily to prevent build fail.
This commit reveals the hidden bug when elementary theme is built.
This commit will be applied after the hidden bug is resolved.

8 years agoevas: fix access to possibility undefined function.
Cedric BAIL [Thu, 17 Mar 2016 23:12:51 +0000 (16:12 -0700)]
evas: fix access to possibility undefined function.

8 years agoevas.canvas3d: example using static LOD
Oleksandr Shcherbina [Thu, 17 Mar 2016 18:14:08 +0000 (11:14 -0700)]
evas.canvas3d: example using static LOD

Summary:
Example using static LOD in evas.canvas3d
It should be applied after D3731

Reviewers: Hermet, raster, cedric

Subscribers: jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoedje: remove unnecessary repetition during copying code
Jee-Yong Um [Thu, 17 Mar 2016 18:13:10 +0000 (11:13 -0700)]
edje: remove unnecessary repetition during copying code

Summary: Code doesn't need to be copied every time when program is copied.

Reviewers: cedric

Reviewed By: cedric

Subscribers: jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoedje: add fixed automatically for optimizing edje calc speed.
Hosang Kim [Thu, 17 Mar 2016 18:12:34 +0000 (11:12 -0700)]
edje: add fixed automatically for optimizing edje calc speed.

Summary:
Applications usually use edje syntax like as,

```
 part { name :"bg";
     type: SWALLOW;
     description {
          state: "default" 0.0;
          rel1.relative: 0.0 0.0;
          rel2.relative: 0.0 0.0;
          align: 0.0 0.0;
          min: 100 100;
     }
 }

```
But edje does not calculate it exactly without "fixed: 1 1".
So edje calculation is repeated until 4000 x 4000, it is waste of time.

Reviewers: woohyun, raster, Hermet, id213sin, cedric

Reviewed By: cedric

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoedje: do not emit selection,start twice when running select all
Mike Blumenkrantz [Thu, 17 Mar 2016 18:14:32 +0000 (14:14 -0400)]
edje: do not emit selection,start twice when running select all

@fix

8 years agoEfl.Canvas.Image: Add forgotten files!
Jean-Philippe Andre [Thu, 17 Mar 2016 05:14:06 +0000 (14:14 +0900)]
Efl.Canvas.Image: Add forgotten files!

Oh...

8 years agoEfl.Canvas.Surface: Fix linking of inexisting functions
Jean-Philippe Andre [Thu, 17 Mar 2016 05:02:26 +0000 (14:02 +0900)]
Efl.Canvas.Surface: Fix linking of inexisting functions

The EO files specified some functions that were not implemented.
Somehow this links fine with recent GCC but older versions have
trouble.

8 years agoEvas.Image: Simplify inheritance tree of image classes
Jean-Philippe Andre [Wed, 16 Mar 2016 11:53:34 +0000 (20:53 +0900)]
Evas.Image: Simplify inheritance tree of image classes

This is a bit artificial, as all image objects are still based on
the Evas.Image main class. The inheritance tree alone does not
give much information on what features are supported by which
class (eg. only Efl.Canvas.Image supports the file interface for
file_set).

8 years agoEvas.Image: Create Efl.Canvas.Image for file & data images
Jean-Philippe Andre [Wed, 16 Mar 2016 10:37:04 +0000 (19:37 +0900)]
Evas.Image: Create Efl.Canvas.Image for file & data images

This replaces standard Evas_Object_Image when it is used "normally",
ie. it's an image from a file or from a pixel buffer. All other APIs
(proxy, snapshot, 3d, gl, ...) are disabled on this object.

Also, reduce number of failing calls when the object is not a legacy
object, but a legacy function is called. This is because a lot of
image APIs are called internally using the legacy APIs, often in
order to reset the state of the image object (eg. set file to NULL,
etc...)

8 years agoEvas: Improve EVAS_OBJECT_LEGACY_API a bit more
Jean-Philippe Andre [Wed, 16 Mar 2016 10:36:19 +0000 (19:36 +0900)]
Evas: Improve EVAS_OBJECT_LEGACY_API a bit more

This now calls EINA_SAFETY_ERROR which makes it easy to then
break inside _eina_legacy_error.

8 years agoEvas.Image: Move all legacy EAPI out of evas_object_image.c
Jean-Philippe Andre [Tue, 15 Mar 2016 07:19:12 +0000 (16:19 +0900)]
Evas.Image: Move all legacy EAPI out of evas_object_image.c

Some of these functions are still be in use by the new EO objects,
like data_set/get/copy_set.

8 years agoEvas.Image: Fix ERR message (invalid call)
Jean-Philippe Andre [Wed, 16 Mar 2016 10:03:41 +0000 (19:03 +0900)]
Evas.Image: Fix ERR message (invalid call)

There was an unintended change from a silent return to EINA_SAFETY
inside _evas_object_image_free(). This avoids calling the function
altogether.

8 years agocxx: follow eoid to eo_self rename in cxx generator and bindings
Stefan Schmidt [Wed, 16 Mar 2016 20:11:17 +0000 (21:11 +0100)]
cxx: follow eoid to eo_self rename in cxx generator and bindings

Bringing efl back to a building state with cxx enabled.

8 years agoevas: Fix incorrect expression in efl_canvas_surface_x11
Chris Michael [Wed, 16 Mar 2016 13:24:20 +0000 (09:24 -0400)]
evas: Fix incorrect expression in efl_canvas_surface_x11

This patch fixes an issue detected by Coverity where 'obj' is written
twice with the same value

CID1353363

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
8 years agoevas: Fix incorrect expression in efl_canvas_surface_tbm
Chris Michael [Wed, 16 Mar 2016 13:22:46 +0000 (09:22 -0400)]
evas: Fix incorrect expression in efl_canvas_surface_tbm

This patch fixes an issue detected by Coverity where 'obj' is written
twice with the same value

CID1353365

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
8 years agoevas: Fix incorrect expression in efl_canvas_surface_wayland
Chris Michael [Wed, 16 Mar 2016 13:21:08 +0000 (09:21 -0400)]
evas: Fix incorrect expression in efl_canvas_surface_wayland

This patch fixes an issue detected by Coverity where 'obj' is written
twice with the same value

CID1353365

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
8 years agoevas.canvas3d: support static LOD technic
Oleksandr Shcherbina [Tue, 15 Mar 2016 19:49:33 +0000 (12:49 -0700)]
evas.canvas3d: support static LOD technic

Summary:
Main flow: add several meshes(with different number of polygons) in one node,
enable LOD for node, set boundary distances to choose need mesh depend on distance
to the camera node, render only need mesh. Add API's enable lod in
evas_canvas3d_node module and set boundary distance to module
evas_canvas3d_mesh module Refactored function evas_canvas3d_node_mesh_collect
to calculate distance. Refactored _scene_render to have possibility pass to the
render only need LOD mesh.

Reviewers: cedric, Hermet, raster

Subscribers: jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
8 years agoevas: some changes for preload thread dead lock issue
jiin.moon [Tue, 15 Mar 2016 18:57:19 +0000 (11:57 -0700)]
evas: some changes for preload thread dead lock issue

Summary:
Add spin lock to access to new flag can check to
status of the preload

Reviewers: jpeg, cedric, jypark

Subscribers: raster

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
8 years agoedje: remove redundant fetch code in file.set method
Jee-Yong Um [Tue, 15 Mar 2016 18:39:47 +0000 (11:39 -0700)]
edje: remove redundant fetch code in file.set method

Summary:
Edje data structure is passed as a parameter, but in file.set method
_edje_fetch() is called one more time unnecessarily.

Reviewers: cedric, jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
8 years agoedje_cc: remove unnecessary internal function
Jee-Yong Um [Tue, 15 Mar 2016 18:31:30 +0000 (11:31 -0700)]
edje_cc: remove unnecessary internal function

Summary:
This internal function was made for checking non-existence of
Edje Part when handling insert_before/after attributes.
However, checking is implemented in different way and this function
is not used anywhere.

Reviewers: cedric

Subscribers: jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
8 years agoedje: fix wrong char in error message
Jee-Yong Um [Tue, 15 Mar 2016 18:29:47 +0000 (11:29 -0700)]
edje: fix wrong char in error message

Summary: fix wrong char in error message of _edje_real_part_image_set()

Reviewers: cedric, jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
8 years agoedje_cc: fix typo in error message
Jee-Yong Um [Tue, 15 Mar 2016 18:24:20 +0000 (11:24 -0700)]
edje_cc: fix typo in error message

Summary: meaningless suffix is attached to a word in error message.

Reviewers: cedric

Subscribers: jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
8 years agoedje_cc: fix group inheriting
Hosang Kim [Tue, 15 Mar 2016 18:23:28 +0000 (11:23 -0700)]
edje_cc: fix group inheriting

Summary:
When edje_cc inherits group, group's script wasn't copied.
So base group and inherited groups use same pointer.
When edje_cc makes lookups for script, loopkups is overwritten.

Test Plan: elementary_test -> shown error log

Reviewers: Hermet, woohyun, cedric, raster

Subscribers: jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
8 years agoeina: fix eina vector in case output vector the same as target vector
Oleksandr Shcherbina [Tue, 15 Mar 2016 18:20:52 +0000 (11:20 -0700)]
eina: fix eina vector in case output vector the same as target vector

Summary:
Use aditional temporary vector for intermedia results in case output vector
the same as target vector in functions:
eina_vector2_transform,
eina_vector2_homogeneous_direction_transform,
eina_vector3_cross_product,
eina_vector3_transform,
eina_vector3_homogeneous_direction_transform
It was in original version (in evas_vecN, module evas_3d_utils.h)
Enrich test suit for this case.

Reviewers: jpeg, cedric

Reviewed By: cedric

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
8 years agoChange the EFL according to the renaming of the eo_add() current object.
Tom Hacohen [Tue, 15 Mar 2016 14:07:52 +0000 (14:07 +0000)]
Change the EFL according to the renaming of the eo_add() current object.

8 years agoEo: eo_add(), change current object's name (api).
Tom Hacohen [Tue, 15 Mar 2016 14:03:00 +0000 (14:03 +0000)]
Eo: eo_add(), change current object's name (api).

It was temporarily eoid, change it to eo_self which is more
descriptive. In this process I also made it a macro to prepare
for the proposed changes on the ML for the fallback implementation
for compilers that don't support the compound statements returning
values gcc extension.

8 years agoEfl.Gfx.View: Try to document view_size
Jean-Philippe Andre [Tue, 15 Mar 2016 02:27:15 +0000 (11:27 +0900)]
Efl.Gfx.View: Try to document view_size

This is not easy as the view size might have different meanings.
Also, it's just not quite clear in my mind what it is :)

8 years agoEfl.Image: Move alpha to Efl.Gfx.Buffer
Jean-Philippe Andre [Fri, 11 Mar 2016 07:13:13 +0000 (16:13 +0900)]
Efl.Image: Move alpha to Efl.Gfx.Buffer

The buffer class is more low-level and alpha is a pretty
common property. I still wonder how to share it with the canvas
and other things.

It doesn't belong to Efl.Gfx.Base since we could have plain old
buffers that are not evas objects (only in-memory buffers) but
Efl.Gfx.Base may also need the alpha flag.

8 years agoEfl.Gfx.Buffer: Simplify data_get/set
Jean-Philippe Andre [Fri, 11 Mar 2016 07:04:15 +0000 (16:04 +0900)]
Efl.Gfx.Buffer: Simplify data_get/set

Remove alpha, l, r, t, b and output length. Those are simply
too many parameters, making the function too inconvenient to use.

8 years agoEvas image: Move content_hint and scale_hint to Efl.Image
Jean-Philippe Andre [Fri, 11 Mar 2016 04:59:14 +0000 (13:59 +0900)]
Evas image: Move content_hint and scale_hint to Efl.Image

8 years agoEvas image: Deprecate evas_object_image_alpha_mask_set
Jean-Philippe Andre [Fri, 11 Mar 2016 04:56:14 +0000 (13:56 +0900)]
Evas image: Deprecate evas_object_image_alpha_mask_set

8 years agoEvas.Image: Fix legacy proxy API
Jean-Philippe Andre [Thu, 10 Mar 2016 06:13:20 +0000 (15:13 +0900)]
Evas.Image: Fix legacy proxy API

8 years agoEvas.Image: Move native surfaces to Efl.Canvas.Surface
Jean-Philippe Andre [Wed, 9 Mar 2016 07:21:08 +0000 (16:21 +0900)]
Evas.Image: Move native surfaces to Efl.Canvas.Surface

X11, TBM and Wayland support are implemented for now.

8 years agoEvas engines: Add internal functions for native images
Jean-Philippe Andre [Wed, 9 Mar 2016 07:18:34 +0000 (16:18 +0900)]
Evas engines: Add internal functions for native images

- image_native_init
- image_native_shutdown

init() will be used to test whether the engine supports a
certain type of native image.

Note: Native image support is very much dependent on the engine,
and some stuff like opengl should work everywhere (even in sw
with osmesa) but that's not the case.

8 years agoEvas.Image: remove video surface
Jean-Philippe Andre [Tue, 8 Mar 2016 06:53:02 +0000 (15:53 +0900)]
Evas.Image: remove video surface

Video stuff should move to a proper player class. I still wonder
how exactly Tizen video should be handled, as they continue to
reject emotion.

8 years agoEdje: Fix warning with clang
Jean-Philippe Andre [Tue, 8 Mar 2016 05:15:45 +0000 (14:15 +0900)]
Edje: Fix warning with clang

Annoying incomplete initializer warning. Apparently gcc/clang
don't consider {0} as good enough for "initialize everything to 0"
even though they do it.

8 years agoExamples: Update evas object eo example
Jean-Philippe Andre [Mon, 7 Mar 2016 13:30:41 +0000 (22:30 +0900)]
Examples: Update evas object eo example

8 years agoEvas: Move 3d to Efl.Canvas.Scene3d
Jean-Philippe Andre [Tue, 8 Mar 2016 05:11:07 +0000 (14:11 +0900)]
Evas: Move 3d to Efl.Canvas.Scene3d

This still seems a bit redondant with the underlying
Evas.Canvas3d.Scene class.

8 years agoEdje: fix tests snap
Jean-Philippe Andre [Tue, 8 Mar 2016 05:22:54 +0000 (14:22 +0900)]
Edje: fix tests snap

8 years agoEvas.Image: Complete implementation of proxy and snapshot
Jean-Philippe Andre [Mon, 14 Mar 2016 10:38:44 +0000 (19:38 +0900)]
Evas.Image: Complete implementation of proxy and snapshot

This moves the EO APIs away from Evas.Image and adds the required
legacy bindings.

8 years agoEvas.Image: Add new classes Snapshot and Proxy
Jean-Philippe Andre [Mon, 14 Mar 2016 10:10:54 +0000 (19:10 +0900)]
Evas.Image: Add new classes Snapshot and Proxy

Efl.Canvas.Snapshot and Efl.Canvas.Proxy are specialized
classes previously implemented as features of Evas.Image.

Note: this half of the work, as I suffered from a bad
merge and rebase with my work branch on top of master.

8 years agoEvas: Add internal macro EVAS_OBJECT_LEGACY_API
Jean-Philippe Andre [Mon, 14 Mar 2016 10:36:45 +0000 (19:36 +0900)]
Evas: Add internal macro EVAS_OBJECT_LEGACY_API

This checks whether the object was created with a legacy
API, ie without not using eo_add directly. This will be used
to help with the transition from EAPI to EO APIs, as some EAPIs
should not be used with the new EO types (eg. file_set on a
Proxy object).

By default it doesn't do anything besides ERR().
In DEBUG mode, it will return immediately.

The macro will return if eo_obj is NULL.

8 years agoEvas Image: Implement Gfx.Buffer get/set/copy_set APIs
Jean-Philippe Andre [Fri, 4 Mar 2016 07:51:37 +0000 (16:51 +0900)]
Evas Image: Implement Gfx.Buffer get/set/copy_set APIs

Those APIs should provide a cleaner interface than the
old data_set/data_get APIs, by making sure the operations are
atomic (ie. no need to call size_set, cspace_set and then data_set).

padding/duplicated borders are not supported.

TODO: Implement legacy API on top of the new API, instead of
      this quick patch

8 years agoEfl.Gfx.Buffer: Introduce buffer_set/get/copy_set
Jean-Philippe Andre [Fri, 4 Mar 2016 06:57:36 +0000 (15:57 +0900)]
Efl.Gfx.Buffer: Introduce buffer_set/get/copy_set

Hopefully the doc and signature are better than the current
evas image equivalents data_get/data_set.

Those APIs are not like map/unmap so we need to decide which
model we prefer.

8 years agoEfl.Gfx.Buffer: Add interface skeletton
Jean-Philippe Andre [Wed, 2 Mar 2016 11:46:11 +0000 (20:46 +0900)]
Efl.Gfx.Buffer: Add interface skeletton

8 years agoEfl.Image: Fix documentation for ratio + implement in evas image
Jean-Philippe Andre [Wed, 2 Mar 2016 10:39:41 +0000 (19:39 +0900)]
Efl.Image: Fix documentation for ratio + implement in evas image

8 years agoEvas image: Create interface Efl.Image.Animated
Jean-Philippe Andre [Wed, 2 Mar 2016 09:12:29 +0000 (18:12 +0900)]
Evas image: Create interface Efl.Image.Animated

This interface groups all low-level animated image functions.

FIXME:
- Rename to Efl.Image.Animated once eolian is fixed
- Fix mess with emile enum (loop_hint)

8 years agoEfl.Image: Improve documentation a bit
Jean-Philippe Andre [Wed, 2 Mar 2016 07:38:57 +0000 (16:38 +0900)]
Efl.Image: Improve documentation a bit

This interface needs to be extended and cleaned up... this will
happen in the following patches.

8 years agoEfl.Gfx.View: Rename property size to view_size
Jean-Philippe Andre [Wed, 2 Mar 2016 07:18:40 +0000 (16:18 +0900)]
Efl.Gfx.View: Rename property size to view_size

size is an insanely generic name, so there would be clashes
in language bindings. Use eo_prefix.

8 years agoEvas image: Move filled property to Efl.Gfx.Fill and set as default
Jean-Philippe Andre [Wed, 2 Mar 2016 06:44:12 +0000 (15:44 +0900)]
Evas image: Move filled property to Efl.Gfx.Fill and set as default

The filled property should be set to true by default since it
makes more sense. Legacy APIs behaviour is preserved by setting
the default to false.

8 years agoEfl.Gfx.Fill: Remove fill_spread
Jean-Philippe Andre [Wed, 2 Mar 2016 06:07:03 +0000 (15:07 +0900)]
Efl.Gfx.Fill: Remove fill_spread

It's not actually implemented anywhere. There's a flag that's
never read. Proper support would require quite some work.

Once we actually implement fill_spread support, we can bring
the API back without breaking compatibility.