Commit Graph

61201 Commits

Author SHA1 Message Date
Cedric BAIL 83be87e4a4 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
2019-02-21 13:40:46 -08:00
Cedric BAIL 43c5d1305e 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
2019-02-21 13:40:44 -08:00
Mike Blumenkrantz af7d1ef7ed 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
2019-02-21 22:04:30 +01:00
Daniel Kolesa 442873a7b8 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.
2019-02-21 21:53:25 +01:00
Mike Blumenkrantz 41f0ebb52b 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
2019-02-21 21:08:26 +01:00
Cedric BAIL 2b2bf31264 eo: add tests for efl_property_reflection_exist.
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7938
2019-02-21 11:54:16 -08:00
Cedric BAIL 11d2b39b44 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
2019-02-21 11:54:14 -08:00
Cedric BAIL 770750486c 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
2019-02-21 11:54:12 -08:00
Cedric BAIL b23f65291f 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
2019-02-21 11:54:09 -08:00
Wonki Kim 56a91961ce meson: add a option for selecting lua interpreter
this patch is for selecting lua interpreter such as luajit, lua51
and in addition, little more changes to unify lua dependency over efl

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7564
2019-02-21 20:49:00 +01:00
Mike Blumenkrantz 99c3d42efd 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
2019-02-21 20:24:34 +01:00
Mike Blumenkrantz 2df6e1103d 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
2019-02-21 20:24:33 +01:00
Mike Blumenkrantz e166486107 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
2019-02-21 20:24:30 +01:00
Shinwoo Kim 5d651d523b evas_object_image: render_post returns if preloading.
The render_post calls evas_object_change if o->changed is true which is added
by commit "36fc2e6 evas image: fix non-rendered preload image.".
But an image could lose chance to render. Please refer to the following.

(1) 1st render_updates_internal
  render_post - evas_object_change for image and its parents
  evas_object_reset - for its parent

(2) _evas_image_load_post_update - o->preload is changed to true here

(3) 2nd render_updates_internal
  evas_render_mapped cannot call render

The reason of (3) would be unchanged parents.

If render_post returns if an image is preloading, then evas_object_change works
for the image and its parents at (2). And finally (3) will call render.
It would be reasonable because render_pre, and render returns as well.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7973
2019-02-21 11:12:15 -08:00
Wonki Kim e7e62c54cd eio: fix a potentional BOF problem
if length of path arguments are longer than PATH_MAX,
there could be a BOF problem potentionally.
this patch fixes it.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7919
2019-02-21 11:12:13 -08:00
Xavi Artigas bb303d6ec5 elementary_test: fix meson build after renaming efl_gfx_map to mapping 2019-02-21 19:27:59 +01:00
Xavi Artigas 220f17ee8d 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
2019-02-21 19:20:09 +01:00
Marcel Hollerbach cc9f236a29 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
2019-02-21 19:13:41 +01:00
Marcel Hollerbach a9f6e7ac42 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
2019-02-21 19:13:40 +01:00
Marcel Hollerbach 078ccd1ca9 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
2019-02-21 19:13:39 +01:00
Mike Blumenkrantz e4b98a243b 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
2019-02-21 18:46:36 +01:00
Mike Blumenkrantz f886941b11 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
2019-02-21 18:43:12 +01:00
Mike Blumenkrantz 94efabedf6 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
2019-02-21 18:43:12 +01:00
Mike Blumenkrantz 606b0381c1 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
2019-02-21 18:43:12 +01:00
Mike Blumenkrantz 56c279edf4 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
2019-02-21 18:43:12 +01:00
Mike Blumenkrantz 831b746a92 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
2019-02-21 18:43:12 +01:00
Daniel Kolesa b6b7317f4e 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.
2019-02-21 16:52:40 +01:00
Daniel Kolesa 95d414549b 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.
2019-02-21 15:05:22 +01:00
Lauro Moura 2b86bd0b3e 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
2019-02-21 13:18:06 +01:00
Daniel Kolesa e335663da0 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.
2019-02-21 12:14:33 +01:00
Carsten Haitzler 39f224b3a6 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
2019-02-21 09:52:31 +00:00
Marcel Hollerbach 2c259edd9f meson: add the elementary examples to the build 2019-02-21 08:56:13 +01:00
Marcel Hollerbach 186eead7c9 layout_property_bind: make it work again 2019-02-21 08:56:13 +01:00
Marcel Hollerbach cce0a6a182 efl_ui_theme: fix example 2019-02-21 08:56:13 +01:00
Marcel Hollerbach 9056275438 efl_app: improve docs
ref T7596
2019-02-21 08:56:13 +01:00
Marcel Hollerbach 08908373f7 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
2019-02-21 08:56:13 +01:00
Marcel Hollerbach 5ee81f7720 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
2019-02-21 08:56:13 +01:00
Marcel Hollerbach 5284ac36ca 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
2019-02-21 08:56:13 +01:00
Xavi Artigas a152ba6d5b 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.
2019-02-21 08:56:13 +01:00
Marcel Hollerbach b1217ede65 ci: host binaries have moved to a new path
this fixes ci
2019-02-21 08:56:13 +01:00
Yeongjong Lee 100a5b210d 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 a8d5f275c7 is intended to increase flags length.

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7972
2019-02-21 14:17:18 +09:00
Hermet Park 9a5dacdb36 evas vg: check for OOM when calloc() 2019-02-21 10:36:49 +09:00
Hermet Park 0a47a0ef32 evas vg: check for OOM when calloc() 2019-02-21 10:36:49 +09:00
Hermet Park a921040743 evas vg: check for OOM when calloc() 2019-02-21 10:36:49 +09:00
Hermet Park 1442690680 evas vg: check for OOM when calloc() 2019-02-21 10:36:49 +09:00
Hermet Park 63e11e1b18 evas vg: avoid integral division not to loss precision. 2019-02-21 10:36:49 +09:00
Hermet Park a8d5f275c7 evas vg: use strncpy() instead of strcpy() for better security. 2019-02-21 10:36:49 +09:00
Hermet Park 3967e1f354 evas main: check for OOM when calloc(). 2019-02-21 10:36:48 +09:00
Daniel Kolesa dc56376990 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.
2019-02-17 02:26:22 +01:00
Daniel Kolesa 9674dadbda 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.
2019-02-17 02:26:22 +01:00