platform/upstream/efl.git
6 years agoefl: Use Eina.Size2D for size hint restricted min
Jean-Philippe Andre [Mon, 18 Sep 2017 05:49:08 +0000 (14:49 +0900)]
efl: Use Eina.Size2D for size hint restricted min

This is the "internal" or "intrinsic" minimum size, to be set by EFL and
not by applications.

6 years agoefl: Use Eina.Size2D for size hint min
Jean-Philippe Andre [Mon, 18 Sep 2017 05:35:22 +0000 (14:35 +0900)]
efl: Use Eina.Size2D for size hint min

6 years agoefl: Use Eina.Size2D for size hint max
Jean-Philippe Andre [Mon, 18 Sep 2017 05:07:56 +0000 (14:07 +0900)]
efl: Use Eina.Size2D for size hint max

6 years agogfx: Add comment about visibility
Jean-Philippe Andre [Mon, 18 Sep 2017 04:55:59 +0000 (13:55 +0900)]
gfx: Add comment about visibility

6 years agoefl: Use Eina.Size2D for Efl.Gfx.size
Jean-Philippe Andre [Fri, 15 Sep 2017 09:37:25 +0000 (18:37 +0900)]
efl: Use Eina.Size2D for Efl.Gfx.size

Big patch as a lot of things call or reimplement size_set. Hopefully I
got it right... fingers crossed.

6 years agoefl: Use Eina.Position2D for Efl.Gfx.position
Jean-Philippe Andre [Fri, 15 Sep 2017 03:14:32 +0000 (12:14 +0900)]
efl: Use Eina.Position2D for Efl.Gfx.position

Note: This is a little bit more cumbersome in some places but in most
it's more convenient than (x,y).

6 years agoefl: Introduce Eina.Rect and switch EO APIs to it
Jean-Philippe Andre [Thu, 14 Sep 2017 02:59:44 +0000 (11:59 +0900)]
efl: Introduce Eina.Rect and switch EO APIs to it

It's a complex struct but defined in EO as a simple struct. ABI-wise
it's equivalent to Eina_Rectangle. Some macros that use Eina_Rectangle
also work on Eina_Rect out of the box, most of the code dealing with
x,y,w,h will require no modifications either.

But Eina_Rect provides direct access to a size or position 2d component,
as well as the usual x,y,w,h. The field "rect" is provided as a
convenience for code dealing with both Eina_Rectangle and Eina_Rect. We
may or may not require it.

Note: Size2D could use unsigned values but I have spotted a few places
in the code that actually use -1 to indicate invalid size (as opposed to
0x0).

@feature

6 years agoelm image: Fix async open to avoid multiple mmap
Jean-Philippe Andre [Fri, 15 Sep 2017 05:39:14 +0000 (14:39 +0900)]
elm image: Fix async open to avoid multiple mmap

Reported by @jiin.moon:

In case of async_open for an elm_image, we try and open a file in a
thread, then map it and populate a bit, as this may take some time
(blocking I/O). This creates a mmap with eina_file_map_new. But later
evas image loaders will (usually) try and map the entire file with
eina_file_map_all() which creates another mmap. Since the size is
different (32Kb first then all) the returned map might be different
(it's up to the kernel to decide at this point).

So, in order to avoid having multiple maps on the same file, and try to
reduce the peak memory usage, we should prefer using the same map all
the time, i.e. the global one returned by eina_file_map_all().

This patch relies on the previous patch in eina_file which fixes
eina_file_map_populate() for the global map.

@fix

6 years agoeina file: Ensure populate is safe to call
Jean-Philippe Andre [Fri, 15 Sep 2017 06:56:17 +0000 (15:56 +0900)]
eina file: Ensure populate is safe to call

This makes sure that the call to madvise is safe. On Linux it's not too
much of an issue as checks are made inside madvise, and the worst that
can happen is an error is returned (EINVAL). Not great.

But if MAP_POPULATE is not present, as is the case on *BSD, then the
internal function _eina_file_map_populate() is used for the populate
rule. In that case actual data is read and we should make sure not to
trigger a segfault or bus error.

Also, this makes sure that in case of HugeTLB we actually populate all
pages, rather than one page out of 8 (we were jumping by 16Mb instead of
2Mb).

Note: Can we get the size of a HugeTLB at runtime? We're assuming 2Mb
which might very well not be the case!
See: https://wiki.debian.org/Hugepages

Tested by disabling MAP_POPULATE and observing crashes :)

@fix

6 years agoeina file: Fix map_populate on the global map
Jean-Philippe Andre [Fri, 15 Sep 2017 05:38:29 +0000 (14:38 +0900)]
eina file: Fix map_populate on the global map

If eina_file_map_all() is called, the map isn't added to the internal
hash "rmap" and so _eina_file_map_rule_apply() would never be called.

@fix

asa

6 years agoflip: Fix invalid use of EOAPI in legacy header
Jean-Philippe Andre [Thu, 14 Sep 2017 05:47:33 +0000 (14:47 +0900)]
flip: Fix invalid use of EOAPI in legacy header

This compiled fine with GCC but not with TCC.

@fix

6 years agointv slider: use scope_get instead
Amitesh Singh [Mon, 18 Sep 2017 01:39:17 +0000 (10:39 +0900)]
intv slider: use scope_get instead

its better to use efl_data_scope_get() in eolian
functions except in finalize().

6 years agoector: move gradient color computation to a pool of thread.
Cedric Bail [Sun, 17 Sep 2017 18:46:09 +0000 (11:46 -0700)]
ector: move gradient color computation to a pool of thread.

This has been a long standing plan for improving performance in rendering
vector object. If your test involve updating gradient, you will get another
speedup of around 15%. Combined with previous shape, we get a 65% improvement
with doing the CPU intensive computation in there own thread before the
rendering kickoff. This was motly theorical until now, but well, it works
great !

6 years agoector: move RLE shape/stroke computation to a pool of thread.
Cedric Bail [Sun, 17 Sep 2017 06:23:36 +0000 (23:23 -0700)]
ector: move RLE shape/stroke computation to a pool of thread.

This has been a long standing plan for improving performance in rendering
vector object. Depending on the test, you will get an improvement between
10 to 35% when rendering vector based object.

We are still maintaining the Cairo backend as the default one at the moment
due to a lack of result comparison tests between the two engine. Hopefully
we should get that covered and we can all enjoy a backend that is 4 times
faster by default.

6 years agoector: avoid calling function pointer when it is unecessary.
Cedric Bail [Sun, 17 Sep 2017 06:19:35 +0000 (23:19 -0700)]
ector: avoid calling function pointer when it is unecessary.

6 years agoector: add ability to run task in another thread during preparation stage.
Cedric Bail [Sun, 17 Sep 2017 00:43:18 +0000 (17:43 -0700)]
ector: add ability to run task in another thread during preparation stage.

6 years agoefl net http - fix protocol error handling to not crash and handle it
Carsten Haitzler (Rasterman) [Sun, 17 Sep 2017 09:14:37 +0000 (18:14 +0900)]
efl net http - fix protocol error handling to not crash and handle it

if http server doesnt send even a valid http response and just closes
your conenction... dont segv with null pd->cm

@fix

6 years agoeo-cxx: Fix assignment operator for eo::concrete
Felipe Magno de Almeida [Sun, 17 Sep 2017 09:15:26 +0000 (06:15 -0300)]
eo-cxx: Fix assignment operator for eo::concrete

6 years agoTests/datetime: set the weekday to avoid Exactness error
Daniel Zaoui [Sat, 16 Sep 2017 20:37:36 +0000 (23:37 +0300)]
Tests/datetime: set the weekday to avoid Exactness error

The weekday, if not set, is the weekday of the day the test is run (i.e
today).
It means Exactness shots will be different most of the time.

6 years agoeina: prevent memory corruption in chained mempool
Jean Guyomarc'h [Sat, 16 Sep 2017 12:20:11 +0000 (14:20 +0200)]
eina: prevent memory corruption in chained mempool

The chained mempool uses eina trash to dispose and retrieve memory
blobs. Problem is that eina trash requires the memory blobs to be at
least of the size of a pointer. If the size of an element in the mempool
is less than the size of a pointer, which _is_ possible as no minimal
size is enforced, eina_trash will silently corrupt the memory pool.

To prevent memory corruption while still allowing small elements, the
size of an element defaults to the size of a pointer if it was smaller.
This comes at the cost of consuming slightly more memory in these cases,
but at least the memory pool can be safely be used.

@fix

6 years agoeo: fix doxygen typo
Jean Guyomarc'h [Sat, 16 Sep 2017 12:18:46 +0000 (14:18 +0200)]
eo: fix doxygen typo

6 years agoeina: handle errors when creating a mempool
Jean Guyomarc'h [Sat, 16 Sep 2017 12:17:25 +0000 (14:17 +0200)]
eina: handle errors when creating a mempool

If the backend initialization failed, the mempool would still be
successfully created. The mempool is now destroyed on failure.

6 years agoeo-cxx: Fix possible non-initialization in copy-constructor and move-constructor
Felipe Magno de Almeida [Fri, 15 Sep 2017 18:16:58 +0000 (15:16 -0300)]
eo-cxx: Fix possible non-initialization in copy-constructor and move-constructor

6 years agoeo-cxx: Fix conversion from char* to std::string
Felipe Magno de Almeida [Fri, 15 Sep 2017 17:53:19 +0000 (14:53 -0300)]
eo-cxx: Fix conversion from char* to std::string

6 years agoEdje external tests: fix some texts
Dave Andreoli [Fri, 15 Sep 2017 17:37:54 +0000 (19:37 +0200)]
Edje external tests: fix some texts

The bugs mentioned are now fixed

6 years agoeolian: remove old ownership system
Daniel Kolesa [Fri, 15 Sep 2017 15:52:55 +0000 (17:52 +0200)]
eolian: remove old ownership system

6 years agoelua: update for new eolian ownership system
Daniel Kolesa [Fri, 15 Sep 2017 15:52:38 +0000 (17:52 +0200)]
elua: update for new eolian ownership system

6 years agoeolian: correctness fixes in tests and eo files
Daniel Kolesa [Fri, 15 Sep 2017 15:48:28 +0000 (17:48 +0200)]
eolian: correctness fixes in tests and eo files

6 years agoeolian cxx/js: fix test eo file ownership
Daniel Kolesa [Fri, 15 Sep 2017 15:10:41 +0000 (17:10 +0200)]
eolian cxx/js: fix test eo file ownership

6 years agoelementary: convert to new ownership
Daniel Kolesa [Fri, 15 Sep 2017 15:05:30 +0000 (17:05 +0200)]
elementary: convert to new ownership

6 years agoefl interfaces: convert to new ownership
Daniel Kolesa [Fri, 15 Sep 2017 14:57:44 +0000 (16:57 +0200)]
efl interfaces: convert to new ownership

6 years agoecore: convert existing eo files to new ownership
Daniel Kolesa [Fri, 15 Sep 2017 14:51:37 +0000 (16:51 +0200)]
ecore: convert existing eo files to new ownership

6 years agoeo files: first batch of @owned conversions
Daniel Kolesa [Fri, 15 Sep 2017 14:44:26 +0000 (16:44 +0200)]
eo files: first batch of @owned conversions

6 years agoeolian: switch validation to new ownership system
Daniel Kolesa [Fri, 15 Sep 2017 14:37:26 +0000 (16:37 +0200)]
eolian: switch validation to new ownership system

6 years agoeolian cxx: use new ownership check API
Daniel Kolesa [Fri, 15 Sep 2017 14:35:24 +0000 (16:35 +0200)]
eolian cxx: use new ownership check API

6 years agoeolian: add API to check for @owned
Daniel Kolesa [Fri, 15 Sep 2017 14:33:57 +0000 (16:33 +0200)]
eolian: add API to check for @owned

6 years agoeolian: store ownership info in types
Daniel Kolesa [Fri, 15 Sep 2017 14:30:52 +0000 (16:30 +0200)]
eolian: store ownership info in types

Even though ownership info belongs to params/returns/etc at syntax
level, we can still store it in the type and turn several API funcs
into one this way.

6 years agoeolian: parsing of new @owned syntax for complex types
Daniel Kolesa [Fri, 15 Sep 2017 14:24:46 +0000 (16:24 +0200)]
eolian: parsing of new @owned syntax for complex types

6 years agoeolian: disallow parsing of warn_unused/owned for funcptrs
Daniel Kolesa [Fri, 15 Sep 2017 13:54:48 +0000 (15:54 +0200)]
eolian: disallow parsing of warn_unused/owned for funcptrs

6 years agoeolian: initial parsing for @owned
Daniel Kolesa [Fri, 15 Sep 2017 13:51:25 +0000 (15:51 +0200)]
eolian: initial parsing for @owned

This is the new ownership system for Eolian, working on params,
returns, struct fields or events directly rather than specifying
ownership at type level. As the new system will evolve it will
gain missing features and necessary checks.

6 years agoTests: fix datetime test for Exactness
Daniel Zaoui [Tue, 12 Sep 2017 15:14:01 +0000 (18:14 +0300)]
Tests: fix datetime test for Exactness

The clock needs to be paused otherwise the shot is not stable

6 years agoTests: fix remote image
Daniel Zaoui [Tue, 5 Sep 2017 19:41:30 +0000 (22:41 +0300)]
Tests: fix remote image

URL was wrong as the server seems down.
Additionally, the two last lines have been swapped so the application
seems normal and not stretched.

6 years agoefl net - adapt to openssl 1.1.0 changes with tls method support
Carsten Haitzler (Rasterman) [Fri, 15 Sep 2017 05:14:03 +0000 (14:14 +0900)]
efl net - adapt to openssl 1.1.0 changes with tls method support

support the tls methods if on openssl 1.1.0 so we don't get
"unsupported cipher" as it does support it just with a new api.

@fix

6 years agogenlist: process item block positioning before relative item deleted
SangHyeon Jade Lee [Fri, 15 Sep 2017 03:11:50 +0000 (12:11 +0900)]
genlist: process item block positioning before relative item deleted

process item for positioning proper relative block before it's
relative item is deleted.

Signed-off-by: SangHyeon Jade Lee <dltkdgus1764@gmail.com>
6 years agoecore exe - fix fix malloc fail handling
Carsten Haitzler (Rasterman) [Thu, 14 Sep 2017 22:44:58 +0000 (07:44 +0900)]
ecore exe - fix fix  malloc fail handling

for both ecore_exe_win32.c and ecore_exe_posix.c when the rare case
(basically almost never) that malloc fails for the exe read/err
buffers also set the data size to 0 so it doesn't lie with a NULL ptr
for data.

@fix

6 years agoevas box - fix longstanding bug where min size is miscalculated
Carsten Haitzler (Rasterman) [Mon, 11 Sep 2017 12:36:47 +0000 (21:36 +0900)]
evas box - fix longstanding bug where min size is miscalculated

this has affected edje for... like... ever. min size of boxes just
doesnt work. because evas box just doesnt do it right. this has led to
nasty things where edje box is just not usable if you use weight of 0.
btw weight 0 means "stay at min size no matter what even if we expand
the box to be bigger" in edje... which is totally broken and i can't
fix that without potentially breaking even more stuff... but let's
see. i've been using this for several days now and ... i can't find
breakage... so this should fix up SOME issues in edje.

@fix

6 years agoecore: update buffer size before allocation, not after.
Cedric BAIL [Thu, 14 Sep 2017 18:35:35 +0000 (11:35 -0700)]
ecore: update buffer size before allocation, not after.

6 years agoeolian-cxx: Fix instantiate constructor with lambda after disambiguation patch
Felipe Magno de Almeida [Thu, 14 Sep 2017 18:06:10 +0000 (15:06 -0300)]
eolian-cxx: Fix instantiate constructor with lambda after disambiguation patch

6 years agoeolian-cxx: Fix example after disambiguation patch of C++ binding
Felipe Magno de Almeida [Thu, 14 Sep 2017 18:05:39 +0000 (15:05 -0300)]
eolian-cxx: Fix example after disambiguation patch of C++ binding

6 years agoeina: move the test to the new future and use the new Eina_Value array iterator macro.
Cedric BAIL [Thu, 14 Sep 2017 18:01:01 +0000 (11:01 -0700)]
eina: move the test to the new future and use the new Eina_Value array iterator macro.

6 years agoeina: add iterator macro for Eina_Value that contain an array.
Cedric BAIL [Thu, 14 Sep 2017 18:00:34 +0000 (11:00 -0700)]
eina: add iterator macro for Eina_Value that contain an array.

6 years agoeio: move efl.io.manager.xattr.get to use the new Eina_Future.
Cedric Bail [Thu, 14 Sep 2017 01:03:05 +0000 (18:03 -0700)]
eio: move efl.io.manager.xattr.get to use the new Eina_Future.

6 years agoefl: silent warnings shown on solaris due to missing header files.
Cedric BAIL [Thu, 14 Sep 2017 16:59:02 +0000 (09:59 -0700)]
efl: silent warnings shown on solaris due to missing header files.

6 years agoeio: don't flush value after giving ownership.
Cedric BAIL [Thu, 14 Sep 2017 16:36:33 +0000 (09:36 -0700)]
eio: don't flush value after giving ownership.

6 years agoeolian: default free funcs for builtin types
Daniel Kolesa [Thu, 14 Sep 2017 13:52:49 +0000 (15:52 +0200)]
eolian: default free funcs for builtin types

6 years agoelm test: ui.clock: eo-fy clock sample
Amitesh Singh [Thu, 14 Sep 2017 05:05:25 +0000 (14:05 +0900)]
elm test: ui.clock: eo-fy clock sample

6 years agoecore_imf: Add ecore_imf_context_input_panel_position_set API
InHong Han [Thu, 14 Sep 2017 01:39:03 +0000 (10:39 +0900)]
ecore_imf: Add ecore_imf_context_input_panel_position_set API

Summary: Sets the x,y coordinates of the input panel

Test Plan: Tested in Tizen device

Reviewers: woohyun, id213sin, jihoon, cedric

Subscribers: jpeg, jihoon, cedric

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

6 years agoeina: add tests for eina_value_to_binbuf.
Cedric Bail [Thu, 14 Sep 2017 00:26:26 +0000 (17:26 -0700)]
eina: add tests for eina_value_to_binbuf.

6 years agoeina: add an ability to quickly convert from an Eina_Value to an Eina_Binbuf.
Cedric Bail [Thu, 14 Sep 2017 00:26:04 +0000 (17:26 -0700)]
eina: add an ability to quickly convert from an Eina_Value to an Eina_Binbuf.

6 years agoeio: migrate efl.io.manager.open to use Eina_Future.
Cedric Bail [Wed, 13 Sep 2017 22:52:40 +0000 (15:52 -0700)]
eio: migrate efl.io.manager.open to use Eina_Future.

6 years agoecore: allow efl_loop_future_scheduler_get on all Efl.Loop.User.
Cedric Bail [Wed, 13 Sep 2017 22:51:49 +0000 (15:51 -0700)]
ecore: allow efl_loop_future_scheduler_get on all Efl.Loop.User.

6 years agoeolian: more relaxed rules on what is actually ownable
Daniel Kolesa [Wed, 13 Sep 2017 22:34:06 +0000 (00:34 +0200)]
eolian: more relaxed rules on what is actually ownable

For example, aliases to ownable types are now also ownable,
which wasn't possible in the previous version, where you could
only own actual expanded ownable types.

6 years agoeolian: include terminatable checks in ownable check
Daniel Kolesa [Wed, 13 Sep 2017 22:28:32 +0000 (00:28 +0200)]
eolian: include terminatable checks in ownable check

6 years agoeolian: inherit freefunc between types/typedecls
Daniel Kolesa [Wed, 13 Sep 2017 22:12:46 +0000 (00:12 +0200)]
eolian: inherit freefunc between types/typedecls

6 years agoeolian: make test data validate
Daniel Kolesa [Wed, 13 Sep 2017 21:58:33 +0000 (23:58 +0200)]
eolian: make test data validate

6 years agoeolian: always implicitly validate database and remove its API
Daniel Kolesa [Wed, 13 Sep 2017 21:55:06 +0000 (23:55 +0200)]
eolian: always implicitly validate database and remove its API

6 years agoeolian: move terminated_array typecheck to validate pass
Daniel Kolesa [Fri, 8 Sep 2017 12:43:19 +0000 (14:43 +0200)]
eolian: move terminated_array typecheck to validate pass

6 years agoeolian: move ownable checks to validation stage
Daniel Kolesa [Fri, 8 Sep 2017 12:22:13 +0000 (14:22 +0200)]
eolian: move ownable checks to validation stage

6 years agoedje: make it handle late appearing of devices
Marcel Hollerbach [Wed, 13 Sep 2017 19:27:02 +0000 (21:27 +0200)]
edje: make it handle late appearing of devices

device adds can happen late, which means evas does not know the default
device until a time that is later than the focusing of some edje part.
Which means that keystrokes etc. are lost for the parts beeing focused
before the default device appeared. This should fix that.

For the later people in this world: Watch out! someone decided to map
seats in edje with a linear counter starting at 1, which means
seat0<->seat1 seat1<->seat2 thanks for that riddle, i feel like i have
beaten the sphinxs.

fix T6022

6 years agoeina: fix Eina_Rectangle support in Eina_Value.
Cedric Bail [Wed, 13 Sep 2017 17:39:31 +0000 (10:39 -0700)]
eina: fix Eina_Rectangle support in Eina_Value.

Thanks for the review Gustavo.

6 years agoeina: allow convertion to BLOB from Eina_File Eina_Value by mmap the file.
Cedric Bail [Wed, 13 Sep 2017 17:38:36 +0000 (10:38 -0700)]
eina: allow convertion to BLOB from Eina_File Eina_Value by mmap the file.

6 years agoeina: improve Eina_File support in Eina_Value.
Cedric Bail [Wed, 13 Sep 2017 17:36:05 +0000 (10:36 -0700)]
eina: improve Eina_File support in Eina_Value.

Thanks Gustavo.

6 years agoexamples/evas: fix recent build break from rectangle change
Stefan Schmidt [Wed, 13 Sep 2017 12:38:10 +0000 (14:38 +0200)]
examples/evas: fix recent build break from rectangle change

Introduced with commit 13da5e980eb43288b9b9f502cb6a7a000e1f26ea

A compile before pushing would have been great, again.
Having the same name for two variables is something no compiler likes.

evas-map-utils-eo.c:74:8: error: conflicting types for ‘r’
    int r, g, b, a, f;
        ^
evas-map-utils-eo.c:73:19: note: previous declaration of ‘r’ was here
    Eina_Rectangle r;
                   ^
evas-map-utils-eo.c:93:31: error: ‘h’ undeclared (first use in this function)
    efl_gfx_size_get(o, NULL, &h);
                               ^
evas-map-utils-eo.c:93:31: note: each undeclared identifier is reported only once for each function it appears in
evas-map-utils-eo.c:108:25: error: ‘w’ undeclared (first use in this function)
    efl_gfx_size_get(o, &w, &h);

6 years agoefl.ui.clock: correct value_set/get & value_min/max APIs signature.
Amitesh Singh [Wed, 13 Sep 2017 11:11:19 +0000 (20:11 +0900)]
efl.ui.clock: correct value_set/get & value_min/max APIs signature.

We could just pass Efl_Time value as copy by value to set time in setter APIs
and return Efl_Time value in getter APIs.

Thanks to @JackDanielZ for the report.

Fixes T6008

6 years agogitignore: add some new example binaries to the ignore list
Stefan Schmidt [Wed, 13 Sep 2017 09:16:39 +0000 (11:16 +0200)]
gitignore: add some new example binaries to the ignore list

6 years agoecore: fix distcheck buil by including missing file
Stefan Schmidt [Wed, 13 Sep 2017 09:11:11 +0000 (11:11 +0200)]
ecore: fix distcheck buil by including missing file

In commit df9f2e07722fa384cba09e934351e90f0d237009 this new header file
was introduced but it was missing from this list and thus never made it
into the dist.

I have to say I look forward to a future where a git based dist
handling, like meson does, replaces the tiresome approach of keeping the
list up to date.

6 years agoefl_access: Use Eina.Rectangle (EO)
Jean-Philippe Andre [Wed, 13 Sep 2017 08:32:35 +0000 (17:32 +0900)]
efl_access: Use Eina.Rectangle (EO)

6 years agoefl_gfx_fill: Use Eina.Rectangle for fill (EO)
Jean-Philippe Andre [Wed, 13 Sep 2017 08:41:20 +0000 (17:41 +0900)]
efl_gfx_fill: Use Eina.Rectangle for fill (EO)

6 years agoedje: Use Eina_Rectangle for parts_extends_calc (EO)
Jean-Philippe Andre [Wed, 13 Sep 2017 08:11:06 +0000 (17:11 +0900)]
edje: Use Eina_Rectangle for parts_extends_calc (EO)

6 years agoefl_gfx: Remove color_part API (EO)
Jean-Philippe Andre [Wed, 13 Sep 2017 08:00:14 +0000 (17:00 +0900)]
efl_gfx: Remove color_part API (EO)

This API was introduced in commit:
  cd3f8db506379a770ef37134748a64adfae66ab3

This was since limited to EO only APIs, and totally underexploited.
After that, efl_part() was introduced, which defines how all part APIs
should be designed.

Nothing uses this API, efl_vg had an implementation that provides no
extra value over the other APIs.

6 years agoefl_gfx: Use Eina.Rectangle for geometry (EO)
Jean-Philippe Andre [Wed, 13 Sep 2017 07:49:04 +0000 (16:49 +0900)]
efl_gfx: Use Eina.Rectangle for geometry (EO)

This saves a few lines already (without even having the proper helpers
for stack rectangles).

6 years agoevas: Use Eina_Rectangle internally
Jean-Philippe Andre [Wed, 13 Sep 2017 07:38:33 +0000 (16:38 +0900)]
evas: Use Eina_Rectangle internally

Instead of Evas_Coord_Rectangle which is exactly the same thing but with
a different name and typedefs.

6 years agoedje: Rename part external class
Jean-Philippe Andre [Wed, 13 Sep 2017 04:58:38 +0000 (13:58 +0900)]
edje: Rename part external class

This was missed in the previous commit as this special part class didn't
include the internal keyword.

Ref T5315
Ref T5306

6 years agoedje/elm: Rename _internal_ to _part_ (EO)
Jean-Philippe Andre [Wed, 13 Sep 2017 04:29:25 +0000 (13:29 +0900)]
edje/elm: Rename _internal_ to _part_ (EO)

In Edje and Elementary, we have part objects, which are what is returned
by the interface efl_part(). Those objects can't be of an opaque type as
this doesn't work nicely with strongly typed languages such as C++ or
C#. In JS, Lua, C the types are weak and mostly runtime-based so it
doesn't matter much.

As a consequence, the documentation and the types need to look nice in
this EO API. Thus, we remove the abusive term "internal" and explicitly
call all those classes "part" something.

Eventually we want the types to be declared in the EO file so bindings
(C#, C++, ...) can generate the proper access methods, returning the
best possible types.

Note that right now a few of those part types are used in the legacy API
but don't actually need to be exposed externally.

This is kind of a mega commit that does all the renaming at once, but
it's really just a big sed operation. The power of good IDEs :)

Ref T5315
Ref T5306

6 years agowidget: Make part_text_translate internal
Jean-Philippe Andre [Wed, 13 Sep 2017 04:11:03 +0000 (13:11 +0900)]
widget: Make part_text_translate internal

6 years agowidget: Rename focus_manager_factory to create
Jean-Philippe Andre [Wed, 13 Sep 2017 02:33:08 +0000 (11:33 +0900)]
widget: Rename focus_manager_factory to create

factory is not a verb :)

Ref T5363

6 years agoevas: Fix build break
Jean-Philippe Andre [Wed, 13 Sep 2017 04:38:57 +0000 (13:38 +0900)]
evas: Fix build break

Ooops. Classic.
See 9ed6838f17e43621eea6f388eb2f5eceba14ecad

6 years agoefl.ui.slider_interval: Add missing since tag
Amitesh Singh [Wed, 13 Sep 2017 03:22:54 +0000 (12:22 +0900)]
efl.ui.slider_interval: Add missing since tag

6 years agoevas: Non functional changes to event grabber
Jean-Philippe Andre [Wed, 13 Sep 2017 02:09:40 +0000 (11:09 +0900)]
evas: Non functional changes to event grabber

This changes the CRI logs and the variable names.

I still think this API needs some fixing in order to not abuse the
smart object API. This should be done before it's too late (i.e. E is
released and depends on it).

6 years agoevas: Add group_member_is to smart objects
Jean-Philippe Andre [Wed, 13 Sep 2017 01:56:55 +0000 (10:56 +0900)]
evas: Add group_member_is to smart objects

This is a new function that indicates whether an object is a child of a
parent or not. Dead simple, as this simply compares if parent == this.
Note that this check was impossible to do with the event grabber.

Also, rename group_children_iterate to group_members_iterate for
consistency with the other group_member functions.

@feature

6 years agoelm: Fix use of Efl.Access APIs
Jean-Philippe Andre [Tue, 12 Sep 2017 10:42:26 +0000 (19:42 +0900)]
elm: Fix use of Efl.Access APIs

See also 7d397c9f195a9121153909c0f

Thanks @stefan for the first fix patch, I simply failed to push this one
early enough.

6 years agoctxpopup: Avoid safety error on call on null obj
Jean-Philippe Andre [Tue, 12 Sep 2017 08:42:28 +0000 (17:42 +0900)]
ctxpopup: Avoid safety error on call on null obj

See 6aa309ffb80a30ce7049d744f2d5abcc2a70b42c

6 years agoeo: Add class name to error log (unref)
Jean-Philippe Andre [Thu, 7 Sep 2017 00:51:09 +0000 (09:51 +0900)]
eo: Add class name to error log (unref)

6 years agoemotion: Make it a clipped smart object
Jean-Philippe Andre [Wed, 6 Sep 2017 14:03:30 +0000 (23:03 +0900)]
emotion: Make it a clipped smart object

This reduces code.
And probably adds new bugs.

6 years agoemotion: Fix refcounts related to eio use
Jean-Philippe Andre [Wed, 6 Sep 2017 12:26:57 +0000 (21:26 +0900)]
emotion: Fix refcounts related to eio use

Inside emotion, if Eio is compiled, some asynchronous functions are used
and a refcounted struct was used to ensure safety of the code.
Unfortunately the logic didn't make much sense as emotion's private data
is used. The refcount becomes useless, the lifecycle of the data being
bound to the object itself.

Note that an actual crash is almost impossible because:
 - eio is actually quite fast
 - evas objects are kept alive for 2 frames
 - eina_freeq is used to keep eo objects' data alive for some more time

But this in theory fixes the events, as they were sent on the wrong
object. "obj" is the image object, "smartobj" was the emotion object.
This is fixed with a weak ref.

I don't think it is necessary to backport this.

6 years agoevas: Fix evas grid
Jean-Philippe Andre [Wed, 6 Sep 2017 06:57:35 +0000 (15:57 +0900)]
evas: Fix evas grid

It's a complete mess mixing legacy and EO in a really bad way.

6 years agoedje: Remove use of smart clipped data
Jean-Philippe Andre [Wed, 6 Sep 2017 06:14:07 +0000 (15:14 +0900)]
edje: Remove use of smart clipped data

This removes dependency on a legacy structure.
Edje object does not change the smart data, unlike evas box and grid.

6 years agoevas: Add EO API to get clipper in smart object
Jean-Philippe Andre [Wed, 6 Sep 2017 06:02:07 +0000 (15:02 +0900)]
evas: Add EO API to get clipper in smart object

It's not exposing anything that wasn't already accessible before (you
could just add a member and get its clip, for instance).

This will be used by Edje Object.

This is a minor
@feature

6 years agoevas: Fix crash with smart objects
Jean-Philippe Andre [Wed, 6 Sep 2017 03:13:58 +0000 (12:13 +0900)]
evas: Fix crash with smart objects

This is due to the previous patches.

6 years agoevas: Remove class Efl.Canvas.Group.Clipped
Jean-Philippe Andre [Wed, 6 Sep 2017 02:56:50 +0000 (11:56 +0900)]
evas: Remove class Efl.Canvas.Group.Clipped

The functionality is now merged inside the core Group class, which will
allow us to clean up its API.