platform/upstream/efl.git
5 years agoefl_canvas_object: make is_frame_object internal
Marcel Hollerbach [Sat, 23 Feb 2019 13:22:11 +0000 (14:22 +0100)]
efl_canvas_object: make is_frame_object internal

it was decided that this property should be internal. So now it is
internal.

ref T7555

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D8010

5 years agoefl_canvas_object: get rid of event_animation set/get
Marcel Hollerbach [Sat, 23 Feb 2019 12:21:40 +0000 (13:21 +0100)]
efl_canvas_object: get rid of event_animation set/get

the API is a little bit problematic. The API takes events as an
parameter. However, only the hide and show events can be used, because
move for example is not intercepted, which leads to a situation that you
cannot attach a translation animation to the event. Further more,
handling the animations directory instead of pipeing them through events
seems to be a little bit easier as the case study of the previous events
have shown. Further more, we should never ever overwrite the
callback_call function of a eo base object, those methods are an
incredible hotpath, by the time we would have 1-2 animations on a
object, the event submission would be significetly slowned down.

ref T7555

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D8009

5 years agoefl_ui_stack: use direct events instead of event_animation
Marcel Hollerbach [Sat, 23 Feb 2019 11:57:13 +0000 (12:57 +0100)]
efl_ui_stack: use direct events instead of event_animation

event_animation of efl_canvas_object, is a little problem, we need to
explictly turn it off, to do a visual state manipulation, just to attach
the animation again. Further more, the animation objects are stored in
static fields, which are not bound to the object. Which means, when two
Efl.Ui.Stack objects are running in parrallel, the animation will look a
little bit wacky, since the object is detached before the animation is
ended.

ref T7555

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D8008

5 years agoefl_ui_slack: remove explicit animation removings
Marcel Hollerbach [Sat, 23 Feb 2019 10:05:18 +0000 (11:05 +0100)]
efl_ui_slack: remove explicit animation removings

it appears that this is a bit unnessesery. Setting an animator to NULL
only causes the animation to be stopped. However, in all cases of these
removed calls, a new animator is setted anyways in one of the next
calls. Which means, the old animator is going to be stopped and removed
anyways. Thus these calls are unnessesery

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D8007

5 years agoefl_ui_stack: refactor code
Marcel Hollerbach [Fri, 22 Feb 2019 17:52:48 +0000 (18:52 +0100)]
efl_ui_stack: refactor code

there has been a lot of duplications, they are removed now.
The 5 new APIs are there to either show[1] or hide[2] content without animations, show[4] or hide[5] content with animations. The last new function[3] is there to announce the events after content has been removed.

1: _show_content_without_anim
2: _hide_content_without_anim
3: _announce_hiding
4:_show_content_with_anim
5:_hide_content_with_anim

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D8006

5 years agoelm textpath: reduces differences between actual pos and modified pos
Youngbok Shin [Mon, 25 Feb 2019 06:26:25 +0000 (15:26 +0900)]
elm textpath: reduces differences between actual pos and modified pos

Summary:
In a previous patch, textpath was modified to use differences between
prev/next values to decide next position. Actually, it improved rendering
quality. But, the modified position could have a big difference from actual position.
It caused a distortion problem.
So, this patch was made for reducing that differences.
@fix

Test Plan:
I'll attach some screenshots of before/after.

1. Modify text in text_ui_textpath.c to see distortion of text. ex) "―――――――――――――――――――..."
2. Build and install.
3. Run
   "ELM_SCALE=0.8 ELM_ACCEL=gl elementary_test -to efl.ui.textpath"

Reviewers: Hermet, raster, cedric

Reviewed By: Hermet

Subscribers: #reviewers, #committers

Tags: #efl

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

5 years agoefl_ui_widget: remove "moved" event
WooHyun Jung [Mon, 25 Feb 2019 04:13:21 +0000 (13:13 +0900)]
efl_ui_widget: remove "moved" event

Summary:
This "moved" event is only used by elm_gengrid now.
And it's not something common for all widget classes,
because the event is giving notification when the legacy
item is reordered.

ref T7553

Test Plan: elementary_test "GenGrid"

Reviewers: bu5hm4n, YOhoho, Jaehyun_Cho

Reviewed By: bu5hm4n, YOhoho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7553

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

5 years agoefl: improve Efl.Container_Model test to have proper lifecycle.
Cedric BAIL [Sat, 23 Feb 2019 13:58:07 +0000 (08:58 -0500)]
efl: improve Efl.Container_Model test to have proper lifecycle.

Summary: Depends on D7865

Reviewers: felipealmeida, segfaultxavi, SanghyeonLee, zmike, bu5hm4n

Reviewed By: segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7528

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

5 years agoeio: enforce proper lifecycle for all Efl.Io_Model and fix discovered lifecycle bugs.
Cedric BAIL [Sat, 23 Feb 2019 13:57:19 +0000 (08:57 -0500)]
eio: enforce proper lifecycle for all Efl.Io_Model and fix discovered lifecycle bugs.

Summary:
This make sure that the object returned by children_slice_get are properly
destroyed when the refcount drop to only the parent holding a reference on
it. This make it clear that the user of the api can rely on efl_ref/efl_unref
to actually manage its use of the returned object.

Additionnaly we are cleaning up the created object that we are using to build our own
request inside the Efl.Io.Model and avoid internal leak.

Depends on D7864

Reviewers: felipealmeida, segfaultxavi, SanghyeonLee, zmike, bu5hm4n

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7528

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

5 years agoecore: enforce proper lifecycle for all Efl.Composite_Model children.
Cedric BAIL [Sat, 23 Feb 2019 13:57:10 +0000 (08:57 -0500)]
ecore: enforce proper lifecycle for all Efl.Composite_Model children.

Summary:
This make sure that the object returned by children_slice_get are properly
destroyed when the refcount drop to only the parent holding a reference on
it. This make it clear that the user of the api can rely on efl_ref/efl_unref
to actually manage its use of the returned object.

Reviewers: felipealmeida, segfaultxavi, SanghyeonLee, zmike, bu5hm4n

Reviewed By: segfaultxavi, zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7528

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

5 years agoefl-csharp: Add support for containers in events.
Lauro Moura [Fri, 22 Feb 2019 17:02:26 +0000 (14:02 -0300)]
efl-csharp: Add support for containers in events.

Summary: Using a simple wrapper as event parameters are not ownable.

Reviewers: vitor.sousa

Reviewed By: vitor.sousa

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoexamples: fixes after Efl.Gfx.Hint rename
Xavi Artigas [Fri, 22 Feb 2019 16:42:31 +0000 (17:42 +0100)]
examples: fixes after Efl.Gfx.Hint rename

5 years agoexamples: Fix cxx examples compilation.
Lauro Moura [Fri, 22 Feb 2019 16:09:18 +0000 (17:09 +0100)]
examples: Fix cxx examples compilation.

Summary: After Efl.Gfx.Hint changes.

Reviewers: segfaultxavi, vitor.sousa

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoeolian: introduce typed slice types
Daniel Kolesa [Thu, 21 Feb 2019 14:24:35 +0000 (15:24 +0100)]
eolian: introduce typed slice types

Summary:
This adds two new complex types, slice<T> and rw_slice<T>. This
is necessary to make the type useful to bindings, as Eina_Slice
on its own says nothing about what it's carrying and that prevents
useful code from being generated outside of C.

@feature

Reviewers: bu5hm4n, segfaultxavi, lauromoura, cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agodocs: Polish focus documentation.
Marcel Hollerbach [Fri, 22 Feb 2019 09:41:38 +0000 (10:41 +0100)]
docs: Polish focus documentation.

Summary: Depends on D7994

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agobuild: fix macos build
Marcel Hollerbach [Fri, 22 Feb 2019 13:53:19 +0000 (08:53 -0500)]
build: fix macos build

Summary:
it the .pc file of luajit carries linker flags that causes compilation
fails on macos, thus we need to split up the .pc file into our own
dependency, and use it with causion

Reviewers: zmike, cedric, segfaultxavi

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

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

5 years agoevas_callbacks: redo legacy smart object events for recently changed event names
Mike Blumenkrantz [Fri, 22 Feb 2019 13:50:07 +0000 (08:50 -0500)]
evas_callbacks: redo legacy smart object events for recently changed event names

Summary:
this makes it more obvious which events are legacy and makes them easier to remove
in the future

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoapi: add bool data to efl.io.reader/writer 'changed' events
Mike Blumenkrantz [Fri, 22 Feb 2019 13:50:02 +0000 (08:50 -0500)]
api: add bool data to efl.io.reader/writer 'changed' events

Summary:
changed events should always be triggered with the accompanying changed
data to reduce function calls

ref T7600, T7599

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7600, T7599

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

5 years agoefl_ui_focus_object: rename API
Marcel Hollerbach [Thu, 21 Feb 2019 20:46:32 +0000 (21:46 +0100)]
efl_ui_focus_object: rename API

these API names have been considered a better choice.

ref T7571

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7994

5 years agoefl_ui_focus_object: rename events
Marcel Hollerbach [Thu, 21 Feb 2019 20:35:34 +0000 (21:35 +0100)]
efl_ui_focus_object: rename events

the event now math the pattern of <property-name>,changed.

ref T7571

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7989

5 years agoefl_ui_focus_composition: remove unneeded API
Marcel Hollerbach [Sun, 17 Feb 2019 17:22:13 +0000 (18:22 +0100)]
efl_ui_focus_composition: remove unneeded API

the purpose of this API can be improved, and the values there can be
guessed.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7993

5 years agoefl_ui_focus_object: improve doc
Marcel Hollerbach [Sun, 17 Feb 2019 17:08:42 +0000 (18:08 +0100)]
efl_ui_focus_object: improve doc

ref T7571

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7992

5 years agoefl_ui_focus_manager: improve docs
Marcel Hollerbach [Sun, 17 Feb 2019 16:56:32 +0000 (17:56 +0100)]
efl_ui_focus_manager: improve docs

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7991

5 years agoefl_ui_focus_manager: rename focus,changed
Wonki Kim [Fri, 8 Mar 2019 01:25:05 +0000 (10:25 +0900)]
efl_ui_focus_manager: rename focus,changed

focus,changed is already used in efl_ui_focus_object, which makes sense
there. However, here we listen for the property focus_manager, thus its
renamed to focus_manager,changed.

ref T7571

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7990

Change-Id: If0efbe092fd05a953655ed58afec7a5702e4db86

5 years agogitignore: add .eo.legacy.c
Daniel Kolesa [Fri, 22 Feb 2019 12:07:48 +0000 (13:07 +0100)]
gitignore: add .eo.legacy.c

5 years agoelementary meson: fix script typo.
Hermet Park [Fri, 22 Feb 2019 11:16:09 +0000 (20:16 +0900)]
elementary meson: fix script typo.

5 years agoefl_ui_table: fix correct parameters of table_rows_get
Yeongjong Lee [Fri, 22 Feb 2019 11:05:39 +0000 (20:05 +0900)]
efl_ui_table: fix correct parameters of table_rows_get

Test Plan:
efl_pack_table_size_set(ui_table, 3, 4);
efl_pack_table_size_get(ui_table, &cols, &rows);

Check (cols, rows) are (3, 4)

Reviewers: Jaehyun_Cho, zmike, jpeg, bu5hm4n

Reviewed By: Jaehyun_Cho, bu5hm4n

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

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

5 years agotest_ui_relative_layout: fix maybe-uninitialized warning
Jaehyun Cho [Fri, 22 Feb 2019 11:00:14 +0000 (20:00 +0900)]
test_ui_relative_layout: fix maybe-uninitialized warning

Warning, which 'text' may be used uninitialized, is fixed.

5 years agoTODO: squash into efl_ui_relative_layout: introduce new relative container
Wonki Kim [Fri, 8 Mar 2019 01:25:50 +0000 (10:25 +0900)]
TODO: squash into efl_ui_relative_layout: introduce new relative container

Change-Id: I48b38f1b625034fba797a4c50ef2591594071463

5 years agoefl_ui_relative_layout: introduce new relative container
Yeongjong Lee [Fri, 22 Feb 2019 10:47:47 +0000 (19:47 +0900)]
efl_ui_relative_layout: introduce new relative container

Summary:
Efl.Ui.Relative_Layout is a container which allows you to position and size with
relation to each other.
it is possible to position and size using relation like edje even though
you don't know a edc script.
Position and size can be changed dynamically using widget APIs.

@feature

ref T5487

Test Plan:
make check
examples
elementary_test -to 'efl.ui.relative_layout'

Reviewers: cedric, Hermet, Jaehyun_Cho, zmike, bu5hm4n, jpeg, segfaultxavi

Reviewed By: Jaehyun_Cho, segfaultxavi

Subscribers: segfaultxavi, kimcinoo

Tags: #efl

Maniphest Tasks: T5487

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

5 years agomono-examples: Fix after Efl.Gfx.Hints rename
Xavi Artigas [Fri, 22 Feb 2019 10:12:03 +0000 (11:12 +0100)]
mono-examples: Fix after Efl.Gfx.Hints rename

5 years agoRevert "eo: fix to remove unreachable loop"
Jaehyun Cho [Fri, 22 Feb 2019 10:01:09 +0000 (19:01 +0900)]
Revert "eo: fix to remove unreachable loop"

This reverts commit f02b82a49e12c0d02bb3f438046e1ceb93d1643b.

5 years agoapi: efl.gfx.stack stack,changed -> stacking,changed
Mike Blumenkrantz [Thu, 21 Feb 2019 19:09:41 +0000 (14:09 -0500)]
api: efl.gfx.stack stack,changed -> stacking,changed

slight tweak to make this more consistent with meaning and docs

ref T7560

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7988

5 years agoapi: rename efl.gfx.entity geometry events and add geometry data to those events
Wonki Kim [Fri, 8 Mar 2019 01:01:41 +0000 (10:01 +0900)]
api: rename efl.gfx.entity geometry events and add geometry data to those events

the convention for event naming is to use $property,changed where possible
and to always emit related data with the event to reduce function calls

ref T7558

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7987

Change-Id: I71bb7e7a70349bd6d797263724fe185b435b345a

5 years agoeo: fix to remove unreachable loop
Jaehyun Cho [Mon, 18 Feb 2019 04:24:27 +0000 (13:24 +0900)]
eo: fix to remove unreachable loop

5 years agoelementary: make sure Efl.Ui.Average_Model stay alive until the end of a property_set.
Cedric BAIL [Tue, 29 Jan 2019 19:57:24 +0000 (11:57 -0800)]
elementary: make sure Efl.Ui.Average_Model stay alive until the end of a property_set.

Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7863

5 years agoecore: add infrastructure to make it easy to enforce Efl.Loop_Model children lifecycle.
Cedric BAIL [Tue, 29 Jan 2019 19:56:34 +0000 (11:56 -0800)]
ecore: add infrastructure to make it easy to enforce Efl.Loop_Model children lifecycle.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7862

5 years agoefl: make sure that the expected lifecycle of the children of Efl.Model is well descr...
Cedric BAIL [Tue, 29 Jan 2019 19:54:55 +0000 (11:54 -0800)]
efl: make sure that the expected lifecycle of the children of Efl.Model is well described.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7861

5 years agointerfaces: move animator,tick to efl.canvas.object and remove efl.animator
Mike Blumenkrantz [Thu, 21 Feb 2019 20:50:35 +0000 (21:50 +0100)]
interfaces: move animator,tick to efl.canvas.object and remove efl.animator

Summary:
this interface only contains a single event which is implemented only by the
canvas object

ref T7561

Reviewers: cedric, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7561

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

5 years agotests: fix elua test with autotools
Daniel Kolesa [Thu, 21 Feb 2019 20:51:55 +0000 (21:51 +0100)]
tests: fix elua test with autotools

For one, TESTS_SRC_DIR was missing even though it's present in
meson. For two, top_builddir/top_srcdir are relative paths, which
means the chdir added earlier would result in a wrong apps dir
being pointed to; fix that by making all paths passed into the
tests source absolute.

5 years agoapi: remove efl.ui.cursor interface
Mike Blumenkrantz [Fri, 8 Feb 2019 19:36:05 +0000 (14:36 -0500)]
api: remove efl.ui.cursor interface

this existed only to provide the methods for Efl.Ui.Layout_Part and fill
in implementation for some legacy functions which should probably not be
supported going forward

the corresponding methods have been merged into efl_ui_widget and the
legacy functions no longer use eolian-generated implementations

Reviewed-by: WooHyun Jung <woohyun0705@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7899

5 years agoeo: add tests for efl_property_reflection_exist.
Cedric BAIL [Tue, 12 Feb 2019 02:21:39 +0000 (18:21 -0800)]
eo: add tests for efl_property_reflection_exist.

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7938

5 years agoeo: add efl_property_reflection_exist to be able to know if a property is available...
Cedric BAIL [Tue, 12 Feb 2019 02:20:51 +0000 (18:20 -0800)]
eo: add efl_property_reflection_exist to be able to know if a property is available on an object.

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7937

5 years agoeo: return an Eina_Value error when a get for a property is not implemented.
Cedric BAIL [Tue, 12 Feb 2019 01:39:00 +0000 (17:39 -0800)]
eo: return an Eina_Value error when a get for a property is not implemented.

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7936

5 years agoeo: make reflection setter able to return an error code in case of failure.
Cedric BAIL [Tue, 12 Feb 2019 00:31:52 +0000 (16:31 -0800)]
eo: make reflection setter able to return an error code in case of failure.

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7935

5 years agoefl.canvas.scene: clean up pointer_position property
Wonki Kim [Thu, 7 Mar 2019 23:45:05 +0000 (08:45 +0900)]
efl.canvas.scene: clean up pointer_position property

this needed to take a seat param (to handle multiseat) and also have a
bool return to indicate whether a pointer device exists for the specified
seat

ref T7584

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7957

Change-Id: Iecaf379a60aeff9c07cee876dd900ac283955e8d

5 years agoefl.canvas.scene: add 'seat_default' property
Mike Blumenkrantz [Thu, 14 Feb 2019 19:32:52 +0000 (14:32 -0500)]
efl.canvas.scene: add 'seat_default' property

there seems to be no other way to directly return the default seat object?

ref T7584

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7956

5 years agointerfaces: move pointer_iterate method efl.canvas.scene -> efl.ui.win
Mike Blumenkrantz [Thu, 14 Feb 2019 18:59:54 +0000 (13:59 -0500)]
interfaces: move pointer_iterate method efl.canvas.scene -> efl.ui.win

this method should probably be merged into a gesture class somewhere,
but it's @beta anyway so shuffling it around to reduce spaghettification
of code is fine for now

ref T7584

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7955

5 years agoelementary_test: fix meson build after renaming efl_gfx_map to mapping
Xavi Artigas [Thu, 21 Feb 2019 18:27:59 +0000 (19:27 +0100)]
elementary_test: fix meson build after renaming efl_gfx_map to mapping

5 years agoRename Efl.Gfx.Map -> Efl.Gfx.Mapping
Xavi Artigas [Wed, 20 Feb 2019 20:32:41 +0000 (21:32 +0100)]
Rename Efl.Gfx.Map -> Efl.Gfx.Mapping

Summary:
For clarity, since there are all kinds of maps, including a navigation map
widget.
Also, corrected some misspellings.

Test Plan: make && make check && make examples all work

Reviewers: cedric, zmike, bu5hm4n

Reviewed By: cedric

Subscribers: Jaehyun_Cho, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7564

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

5 years agoefl_loop: remove message_handler_get
Marcel Hollerbach [Thu, 21 Feb 2019 17:56:00 +0000 (18:56 +0100)]
efl_loop: remove message_handler_get

it appears that this could be emulated with other functions. Plus the
function had the limitation, that no constructors could be used.

ref T7597

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7985

5 years agoefl_loop_timer: resolve fixups of documentation
Marcel Hollerbach [Thu, 21 Feb 2019 14:56:16 +0000 (15:56 +0100)]
efl_loop_timer: resolve fixups of documentation

this resolves a few FIXMEs regarding documentation.
Overwriting functions does not help that much, since the documentation
will not be displayed in a IDE, so the documentation of these functions
are moved to the class documentation, which is assosiated with the
object.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7983

5 years agoefl_loop / efl_app: make efl_app / efl_loop abstract
Marcel Hollerbach [Thu, 21 Feb 2019 14:33:55 +0000 (15:33 +0100)]
efl_loop / efl_app: make efl_app / efl_loop abstract

this is done inorder to ensure that noone ever thinks of creating theire
own app/loop object.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7982

5 years agoTODO: squash into api: efl.gfx.hints.change,size,hints -> efl.gfx.hints.hints,changed
Wonki Kim [Thu, 7 Mar 2019 23:45:25 +0000 (08:45 +0900)]
TODO: squash into api: efl.gfx.hints.change,size,hints -> efl.gfx.hints.hints,changed

Change-Id: Ie5a630aaac994dde913fdc9d8ac99a219405ed8f

5 years agoapi: efl.gfx.hints.change,size,hints -> efl.gfx.hints.hints,changed
Mike Blumenkrantz [Thu, 21 Feb 2019 17:46:36 +0000 (18:46 +0100)]
api: efl.gfx.hints.change,size,hints -> efl.gfx.hints.hints,changed

Summary:
this is consistent with other "changed" event naming

ref T7563

Depends on D7977

Reviewers: segfaultxavi, cedric, bu5hm4n

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7563

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

5 years agoapi: efl.gfx.size_hints -> efl.gfx.hints
Mike Blumenkrantz [Thu, 21 Feb 2019 17:19:45 +0000 (18:19 +0100)]
api: efl.gfx.size_hints -> efl.gfx.hints

Summary:
these hints are not strictly size-related, so renaming them is more consistent
with their actual function

ref T7563

Depends on D7968

Reviewers: segfaultxavi, cedric, bu5hm4n

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7563

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

5 years agoefl.gfx.stack: restack -> stack,changed
Wonki Kim [Thu, 7 Mar 2019 12:19:52 +0000 (21:19 +0900)]
efl.gfx.stack: restack -> stack,changed

Summary:
ref T7560

Depends on D7967

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl_api

Maniphest Tasks: T7560

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

Change-Id: Ifcc911edc42c2974b82f095796bec7162188a5e4

5 years agoefl.screen: add screen_scale_factor property
Mike Blumenkrantz [Thu, 21 Feb 2019 17:19:39 +0000 (18:19 +0100)]
efl.screen: add screen_scale_factor property

Summary:
ref T7590

Depends on D7966

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl_api

Maniphest Tasks: T7590

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

5 years agoefl.screen: add screen_size_in_mm property
Mike Blumenkrantz [Thu, 21 Feb 2019 17:19:35 +0000 (18:19 +0100)]
efl.screen: add screen_size_in_mm property

Summary:
ref T7590

Depends on D7965

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl_api

Maniphest Tasks: T7590

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

5 years agoefl.screen: screen_size -> screen_size_in_pixels
Mike Blumenkrantz [Thu, 21 Feb 2019 17:19:33 +0000 (18:19 +0100)]
efl.screen: screen_size -> screen_size_in_pixels

Summary:
also improve docs slightly

ref T7590

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl_api

Maniphest Tasks: T7590

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

5 years agoeolian gen: generate a separate file with legacy implementations
Daniel Kolesa [Thu, 21 Feb 2019 15:52:40 +0000 (16:52 +0100)]
eolian gen: generate a separate file with legacy implementations

If legacy implementations are generated, eolian_gen now creates
a separate file for them and includes it. The file name convention
for that is <.c file name without ext>.legacy.<.c file name ext>
or <.c file name>.legacy.c if it has no ext, so for example
foo.eo.c becomes foo.eo.legacy.c and foo becomes foo.legacy.c.

The file is generated assuming there are any legacy APIs contained
inside the .eo file.

5 years agotests: add chdir in elua to prevent incorrect file accesses
Daniel Kolesa [Thu, 21 Feb 2019 14:04:31 +0000 (15:04 +0100)]
tests: add chdir in elua to prevent incorrect file accesses

Elua is testing API that tries to read files by path, prevent
unintentional reads from current working directory by changing
that directory.

5 years agotests: Include ecore test dir for generated eo.h
Lauro Moura [Thu, 21 Feb 2019 12:10:27 +0000 (13:10 +0100)]
tests: Include ecore test dir for generated eo.h

Summary: Was causing builds off-tree failing check-build

Test Plan: build tests

Reviewers: cedric, bu5hm4n, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl

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

5 years agoeolian gen: emit doxygen references to constants in uppercase
Daniel Kolesa [Sun, 17 Feb 2019 20:33:54 +0000 (21:33 +0100)]
eolian gen: emit doxygen references to constants in uppercase

Since these are made into macros in C, they get uppercase names.
Reflect this in documentation generation.

Fixes T7691.

5 years agoecore drm2 - work around kms/drm bug seemingly when no flip event comes
Carsten Haitzler (Rasterman) [Sun, 17 Feb 2019 13:33:25 +0000 (13:33 +0000)]
ecore drm2 - work around kms/drm bug seemingly when no flip event comes

so we request a flip so we can do vsync events. the flip event never
comes. i am not sure why it never comes, but we ask and nothing
arrives, and this basically halts all rendering in wayland compositor
mode as we are syncing rendering to vsync (of course). put in a
timeout of 0.05s (50ms) to try ask again if the event never comes and
log the error. this is a pretty useful workaround becauswe having your
entire display freeze is a ... bad thing.

@fix

5 years agomeson: add the elementary examples to the build
Marcel Hollerbach [Sun, 17 Feb 2019 18:11:53 +0000 (19:11 +0100)]
meson: add the elementary examples to the build

5 years agolayout_property_bind: make it work again
Marcel Hollerbach [Sun, 17 Feb 2019 18:11:26 +0000 (19:11 +0100)]
layout_property_bind: make it work again

5 years agoefl_ui_theme: fix example
Marcel Hollerbach [Sun, 17 Feb 2019 18:11:05 +0000 (19:11 +0100)]
efl_ui_theme: fix example

5 years agoefl_app: improve docs
Marcel Hollerbach [Wed, 20 Feb 2019 13:16:50 +0000 (14:16 +0100)]
efl_app: improve docs

ref T7596

5 years agoefl_loop: document and annotate efl_loop_time correctly
Marcel Hollerbach [Wed, 20 Feb 2019 13:14:13 +0000 (14:14 +0100)]
efl_loop: document and annotate efl_loop_time correctly

this adds over the documentation of the legacy header.
Additionally set is defined as protected.

ref T7597

5 years agoefl_loop: declare this class function to the object
Marcel Hollerbach [Wed, 20 Feb 2019 12:12:37 +0000 (13:12 +0100)]
efl_loop: declare this class function to the object

we pass the object as first argument, so everything is just like object
function, thus we can declare it like this.

ref T7597

5 years agoeo: add API for querying the class type
Marcel Hollerbach [Mon, 18 Feb 2019 14:09:27 +0000 (15:09 +0100)]
eo: add API for querying the class type

a class can be a interface mixin abstract or regular.
This adds a API for getting this information

5 years agomono-docs: Add <value> tags to properties
Xavi Artigas [Tue, 19 Feb 2019 12:29:09 +0000 (13:29 +0100)]
mono-docs: Add <value> tags to properties

eolian_mono now generates properties (which simply wrap the setter and getter
methods when both ara available), but they were missing docs, because
properties require a special <value> tag instead of <returns> or <param> which
we are already implementing.
This commit adds <value> tags only if docs can be retrieved from the setter or
the getter methods.

5 years agoci: host binaries have moved to a new path
Marcel Hollerbach [Wed, 20 Feb 2019 15:52:16 +0000 (16:52 +0100)]
ci: host binaries have moved to a new path

this fixes ci

5 years agoevas vg: fix correct increment for tflags
Yeongjong Lee [Thu, 21 Feb 2019 05:17:18 +0000 (14:17 +0900)]
evas vg: fix correct increment for tflags

Summary:
There is warning.

```
lib/evas/vg/evas_vg_cache.c: In function ‘_vg_file_save’:
lib/evas/vg/evas_vg_cache.c:185:30: warning: pointer of type ‘void *’ used in arithmetic [-Wpointer-arith]
         tflags = alloca(len) + 1;
```
Previous code of a8d5f275c78 is intended to increase flags length.

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoevas vg: check for OOM when calloc()
Hermet Park [Mon, 18 Feb 2019 06:09:44 +0000 (15:09 +0900)]
evas vg: check for OOM when calloc()

5 years agoevas vg: use strncpy() instead of strcpy() for better security.
Hermet Park [Mon, 18 Feb 2019 05:47:14 +0000 (14:47 +0900)]
evas vg: use strncpy() instead of strcpy() for better security.

5 years agoeolian: disallow freefuncs on typedefs
Daniel Kolesa [Sun, 17 Feb 2019 01:20:35 +0000 (02:20 +0100)]
eolian: disallow freefuncs on typedefs

Now the only kind of typedecl that is allowed a freefunc is
a struct. This simplifies the overall logic and makes freefuncs
a bit more predictable.

5 years agoeolian: restrict usage of ptr() to directly used types
Daniel Kolesa [Sun, 17 Feb 2019 01:11:02 +0000 (02:11 +0100)]
eolian: restrict usage of ptr() to directly used types

That means, it can only now be used on parameters and struct
fields, never aliased within typedefs. This simplifies the
logic so that we don't have ptr metadata buried several layers
deep.

5 years agoexamples - add examples for efl exe/thread
Carsten Haitzler (Rasterman) [Sat, 16 Feb 2019 22:03:08 +0000 (22:03 +0000)]
examples - add examples for efl exe/thread

5 years agoefl cmdline use simpler stringshare type to not be redundant
Carsten Haitzler (Rasterman) [Fri, 15 Feb 2019 19:52:50 +0000 (19:52 +0000)]
efl cmdline use simpler stringshare type to not be redundant

5 years agoeolian gen: initial support for reflection api
Daniel Kolesa [Fri, 15 Feb 2019 16:15:36 +0000 (17:15 +0100)]
eolian gen: initial support for reflection api

This adds support for generating reflection functions for
properties. This support is basic for now, supporting only
primitive types and string(shares), it will be expanded later
as required.

@feature

5 years agoefl.canvas.scene: improve class docs
Mike Blumenkrantz [Fri, 15 Feb 2019 15:20:58 +0000 (16:20 +0100)]
efl.canvas.scene: improve class docs

Summary:
these were some pretty efl docs, and I've tried to make them more accessible

ref T7584

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7584

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

5 years agoefl commandline - make strings also owned as well as array
Carsten Haitzler (Rasterman) [Fri, 15 Feb 2019 12:27:21 +0000 (12:27 +0000)]
efl commandline - make strings also owned as well as array

this seems like it should be the right one. i don't have sample tests
etc.  to run - the mono suite succeeds... so...

5 years agoecore audio - mark it all as beta
Carsten Haitzler (Rasterman) [Fri, 15 Feb 2019 10:38:09 +0000 (10:38 +0000)]
ecore audio - mark it all as beta

this api needs a re-think in terms of being portablke/back-enmd
agnostic. it shouldnt expose windows vs pulse etc. and shouldnt be
ecore_XXX for sure.

5 years agofix efl exe/thread/appthread to work again after seemingly bitrotting
Carsten Haitzler (Rasterman) [Fri, 15 Feb 2019 01:19:03 +0000 (01:19 +0000)]
fix efl exe/thread/appthread to work again after seemingly bitrotting

5 years agofix args handling in cmdline class to not be broken
Carsten Haitzler (Rasterman) [Fri, 15 Feb 2019 01:16:49 +0000 (01:16 +0000)]
fix args handling in cmdline class to not be broken

first use consistent ownership (stringshare the strings) and then also
properly dup and pass them and not free null arrays and so on where
they are used

5 years agocmdline iface - fix to consume input array AND strings totally
Carsten Haitzler (Rasterman) [Thu, 14 Feb 2019 11:28:23 +0000 (11:28 +0000)]
cmdline iface - fix to consume input array AND strings totally

strings often enough are generated e.g. via "%s/%s" or "%i" or similar
etc. ... i have poitned to examples, so move to make all strings
consistently stringshared, fix a bug added to the efl thread code
where it accessed and freed array even tho array was consumed (but not
strings) in the set, and the code used free to consume not
stringshare_del. fix other code and tests to match

EXCTLY the kind of bugs and mistakes with this kind of design that i
said would happen more often just happened...

5 years agoenv obj - fixx implementation to use a shared object
Carsten Haitzler (Rasterman) [Thu, 14 Feb 2019 11:27:27 +0000 (11:27 +0000)]
env obj - fixx implementation to use a shared object

so this chnage totally threww away all the thread safety and locking
without doing the simple thing of using a shared obcj for the global
env obj to ensure brute force safety at least. fix.

5 years agoMove Efl.Observable_Tuple into efl_observable.eo
Xavi Artigas [Thu, 14 Feb 2019 20:41:23 +0000 (15:41 -0500)]
Move Efl.Observable_Tuple into efl_observable.eo

Summary:
And out of efl_types.eot
Makes sense, right?

Test Plan: Everything builds

Reviewers: cedric, zmike, bu5hm4n

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

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

5 years agoRemove warnings when building without EFL_BETA_API_SUPPORT
Xavi Artigas [Thu, 14 Feb 2019 20:33:55 +0000 (15:33 -0500)]
Remove warnings when building without EFL_BETA_API_SUPPORT

Summary:
efl_alive_get should be a method defined in efl_object.eo, protected by
EFL_BETA_API_SUPPORT while that class is still @beta.
Instead, it is defined in Eo.h, so the BETA guard has to be defined manually.
This was causing some unsighly warnings during "make" and "make check"
(implicit declaration of function ‘efl_invalidating_get’)

Test Plan: make && make check do not throw that warning anymore

Reviewers: zmike, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

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

5 years agoefl_core_command_line: a +1 was forgotten in order to account \0
Marcel Hollerbach [Thu, 14 Feb 2019 19:10:21 +0000 (20:10 +0100)]
efl_core_command_line: a +1 was forgotten in order to account \0

this forgotten and the allocated string buffer was too small.
This fixes a valgrind warnings

5 years agoStop defining EFL_BETA_API_SUPPORT in Efl_Core.h and Efl_Ui.h
Xavi Artigas [Thu, 14 Feb 2019 15:24:56 +0000 (16:24 +0100)]
Stop defining EFL_BETA_API_SUPPORT in Efl_Core.h and Efl_Ui.h

Summary:
Including these headers does no longer mean that you want to use BETA API.
More and more methods in these libs will come out of BETA and they will
be usable without requiring EFL_BETA_API_SUPPORT to be defined by the app.

This concludes this patchset. Now apps can chose to define EFL_BETA_API_SUPPORT
or not, and they will have access to the requested API subset, but both options
are available.

Depends on D7951
Fixes T7692

Reviewers: zmike, bu5hm4n, cedric

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7692

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

5 years agoMark BETA classes individually
Wonki Kim [Thu, 7 Mar 2019 12:10:28 +0000 (21:10 +0900)]
Mark BETA classes individually

Summary:
Instead of surrounding all the #include "*.eo.h" lines in Efl.h
with #ifdef EFL_BETA_API_SUPPORT, include these files unconditionally, but mark
all classes as @beta in the eo files.
This will allow taking them out of beta one by one as we deem them stable enough.
Otherwise, the current procedure involves moving the #include line out of the
ifdef block, which is cumbersome and messes include order.

Depends on D7950
Fixes T7692

Test Plan: Nothing changes

Reviewers: zmike, bu5hm4n, cedric

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7692

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

Change-Id: Ifc2ccd97807c33e2e4927c38c14d494567d3bbca

5 years agoMark EFL_MAIN and EFL_MAIN_EX macros as stable
Xavi Artigas [Thu, 14 Feb 2019 16:09:23 +0000 (17:09 +0100)]
Mark EFL_MAIN and EFL_MAIN_EX macros as stable

They no longer require EFL_BETA_API_SUPPORT to be defined.

5 years agoMark efl_types.eot as stable
Xavi Artigas [Thu, 14 Feb 2019 15:11:32 +0000 (16:11 +0100)]
Mark efl_types.eot as stable

Summary:
This allows using Efl_Version without EFL_BETA_API_SUPPORT, which in turn
allows failing when trying to use restricted BETA API with a more meaningful
error message.
The error will now tell you which restricted API you are trying to use, instead
of Efl_Version symbol not found.

Fixes T7696
Depends on D7932

Test Plan:
make && make check && make examples continue working.
Building a BETA example while removing the EFL_BETA_API_SUPPORT define should
tell you which BETA API you tried to use.

Reviewers: zmike, bu5hm4n, cedric

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7696

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

5 years agoeo: declare Eo stable
Marcel Hollerbach [Thu, 14 Feb 2019 14:24:45 +0000 (15:24 +0100)]
eo: declare Eo stable

Summary:
This declares the main part of Eo.h as stable, except the domain api for
now. We don't have a user of that API for now, nor do we have bindings
supporting threads, lets wait with this bit until we have bindings for
this, so we can test it.

Further more, this does not stabilize the composition API of
efl_object.eo.h, reason for this is, that we might want to overthink the
solution we have with events, as we might want to forward events per
default.
Depends on D7931

Reviewers: stefan_schmidt, cedric, zmike, segfaultxavi

Reviewed By: cedric

Subscribers: #reviewers, #committers

Tags: #efl

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

5 years agodocs: Typo
Xavi Artigas [Thu, 14 Feb 2019 14:22:01 +0000 (15:22 +0100)]
docs: Typo

5 years agoEfl.Gfx.Stack: Rename raise and lower
Xavi Artigas [Thu, 14 Feb 2019 13:57:22 +0000 (08:57 -0500)]
Efl.Gfx.Stack: Rename raise and lower

Summary:
to move_to_top and move_to_bottom since the previous names seemed to indicate
that the object only moved one step instead of all the way through the top
or the bottom of the stack.

Ref T7560

Test Plan: make && make check && make examples work as before

Reviewers: cedric, zmike

Reviewed By: zmike

Subscribers: kimcinoo, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7560

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

5 years agodocs: Clarify docs for Efl.Screen.
Xavi Artigas [Thu, 14 Feb 2019 12:20:28 +0000 (13:20 +0100)]
docs: Clarify docs for Efl.Screen.