Commit Graph

3330 Commits

Author SHA1 Message Date
Marcel Hollerbach 04567a16db exactness-inspect: unit1 can never be NULL
checkinf for it beeing NULL means that we would have to equip every
usage of unit1 with a check, but that is useless.

CID 1419859

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11721
2020-04-17 17:14:57 +02:00
Marcel Hollerbach 66adfc97f6 exactness-inspect: fix NULL access
ii might be NULL so we should ensure it is not NULL to call item_select

CID 1419865

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11720
2020-04-17 17:14:55 +02:00
Marcel Hollerbach 38d74c8a1a exactness-inspect: sanitize if clause
these if clause where a bit bottom up, and the xor operation here seemed
totally wrong, with this code we are simply displaying both entiteis of
the two structs when they are there. *or* we are replacing it with the
fallback.

CID1419875

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11719
2020-04-17 17:14:53 +02:00
Carsten Haitzler 838a67d311 elm - genlist test - handl g_data being null
fix CID 1396944 1396946
2020-04-17 12:48:33 +01:00
Stefan Schmidt 61599d67ed exactness: limit length for font_path to stay in buffer
We get fonts_dir from a getenv() without and length check. Make sure
that we stay in the given buffer size when stitching the file path
together.

CID: 1422195

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11718
2020-04-17 10:43:04 +02:00
Stefan Schmidt 95bff0fac9 exactness: fix typo in function name
Simple spelling mistake. overlay instead of overloay.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11714
2020-04-17 10:43:01 +02:00
Stefan Schmidt d02bbe42b9 exactness: remove no longer used code since move to preload
This has been around for prg handling before we switched to preload. No
need for it anymore. Found when looking for a Coverity issue, which also
got fixed now by luck. :-)

CID: 1421994

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11713
2020-04-17 10:42:59 +02:00
Carsten Haitzler 03164bfacf efreet - disable strict as this makes things less functional... 2020-04-16 13:33:37 +01:00
Carsten Haitzler b376c2a902 efreet - look in /usr/local/share/pixmaps too 2020-04-16 13:04:03 +01:00
Xavi Artigas f526ad8c26 Fix namespace clashes for Efl.Text.Cursor
Three renames are applied here:
Efl.Text.Cursor -> Efl.Text_Cursor.Object (class)
Efl.Text.Cursor_Type -> Efl.Text_Cursor.Type (enum)
Efl.Text.Cursor_Move_Type -> Efl.Text_Cursor.Move_Type (enum)

Nothing changes for the enums on the C side. For the class... Well,
the method names are a bit more verbose now.

These renames are required to avoid clashing with the Efl.Text interface.
This did not cause trouble to C# because interfaces are prefixed with "I",
but it did cause trouble to Eolian when the EO files were installed and
somebody tried to use them.
Ref T8648

Differential Revision: https://phab.enlightenment.org/D11663
2020-04-14 12:25:55 +02:00
Alastair Poole d74f17239c tests: popup
I missed this warning on this machine apologies for the
unnecessary noise.
2020-04-09 11:44:27 +01:00
Alastair Poole eaa2ad523e tests: Add case to match ephoto behaviour. 2020-04-09 11:41:05 +01:00
Marcel Hollerbach e3224ead98 build: add version to exactness libs
this patch was submitted through the bugtracker by Andrew Brouwers.

Thank you!

fixes T8644
2020-04-06 09:05:08 +02:00
Xavi Artigas b1cc09a86c doxygen docs: some fixes in Evas_Legacy.h
This brings into the docs hundreds of methods!
due to the ingroup->defgroup mistake, they were out of any scope
and therefore they were silently ignored by doxygen.

Also, document lots of missing "obj" parameters. Not strictly necessary, but
this further reduces the number of doxygen warnings.
2020-04-02 17:48:39 +02:00
Xavi Artigas 0122865ee1 exactness docs: Add docs, fix docs, remove docs
Summary:
The Exactness tool needed usage instructions... and quite some more
fixes. There was copypasta all around.

Depends on D11634

Test Plan: Build and Enjoy

Reviewers: bu5hm4n, stefan_schmidt

Reviewed By: stefan_schmidt

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11637
2020-04-02 13:02:11 +02:00
Marcel Hollerbach b3786aa83a exactness: protect against forked calls
there came up a issue, where a excatness spawned processes were bringing
up a efreetd instance, when the efreetd instance turned off itself, the
files for exactness were written again, which is wrong. This ensures
that forked instances do not take any actions.

Differential Revision: https://phab.enlightenment.org/D11634
2020-04-01 19:25:36 +02:00
Marcel Hollerbach b5a4dbc366 exactness: error when _src_unit is NULL
if _src_unit is NULL, the write here would delete the actions, with this
commit we ensure that this is printing an error.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11627
2020-03-31 14:56:46 +02:00
Marcel Hollerbach 455b07ec62 exactness: equip with ERR and CRIT
before a few commits, we had the situation that errors were overseen
because the log was simply so big, that errors did not get shown
properly.

With this commit, exactness will simply abort if there is a real issue
in the code.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11624
2020-03-31 14:56:43 +02:00
Marcel Hollerbach 624ea389c9 exactness: correctly call mkdir
we should not error when mkdir returns < 0. EEXIST should not result in
the return here.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11618
2020-03-31 14:56:41 +02:00
Marcel Hollerbach 830d45e384 exactness: do not efl_del the evas
there is no need to do that, more than that. This is super dangerous,
the display and connection ptr of x are passed from ecore_evas to evas,
if you delete evas before ecore_evas, the later ecore_evas deletion will
destroy the x connection which calls some functions in evas, which is
already freed, which leads to a crash.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11617
2020-03-31 14:56:38 +02:00
Marcel Hollerbach 2f9caff972 exactness_play: introduce runner script
this is just a little python script, so you can lunch exactness_play
without the need of handdefining LD_PRELOAD

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11616
2020-03-31 14:56:36 +02:00
Marcel Hollerbach 7466ca4de7 exactness_play: transform to LD_PRELOAD library
this can now be loaded as LD_PRELOAD library

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11615
2020-03-31 14:56:33 +02:00
Marcel Hollerbach 09a7ebdc62 exactness_player: refactor main method
this refactors everything that is not argc argv related out of the main
method. For later usage

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11614
2020-03-31 14:56:31 +02:00
Marcel Hollerbach 8ee3ecff95 exactness: remove code for compiling
this seems to be made for compiling binaries before testing. That sounds
like a good idea, however, implementing a full buildtool in exactness is
a bit hard. Hence, using meson for that would be better.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11613
2020-03-31 14:56:28 +02:00
Marcel Hollerbach 506b354842 exactness_record: introduce runner script
this is just a little python script, so you can lunch exactness_record
without the need of handdefining LD_PRELOAD

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11611
2020-03-31 14:56:25 +02:00
Marcel Hollerbach 7891e8582b exactness_recorder: move to preload
this is now not a binary anymore, that dlopen's a binary, it is now a
library, that can be loaded using LD_PRELOAD. EXACTNESS_DEST is used for
the path of the .exu file. EXACTNESS_FONTS_DIR is used to get the fonts
directory

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11610
2020-03-31 14:56:23 +02:00
Marcel Hollerbach 4ecc94f84a exactness_recorder: refactor main method
all calls taht are not related to env var checking, are moved out of the
main method. That is in preparation for later refactorings.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11623
2020-03-31 14:56:21 +02:00
Marcel Hollerbach e33f3fd7c9 exactness_recorder: cleanup code a bit
_test_name was not used globally, so lets move it to the used scope.
Verbose is not used at all either.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11609
2020-03-30 13:57:48 +02:00
Marcel Hollerbach 66e2d71414 exactness: handbuild a new argv array instead of reassemling the new one
this commit removes the code that was changing argv values, and replaces
it with a new array. Which is absolutly fine, as the argv / argc values
are never accessed later on. Only the copies that have been passed to
efl_main or elm_main.

This resolves several issues:
1. the for loop is useless, every single array element that gets
   initialized with it, is some offset from argv[0] this may also crash
   when argv[i] - argv[opt_args] is bigger strlen argv[0].
2. The memcpy here is super dangerous, the dest array is not garanteed
   to have the same size as argv[0], this only works if the client
   application name is shorter than the name "exactness_recorder"
3. The memset here is absolutly wrong. There is again no garantee that
   the array has the expected size behind that, this was constantly
   overwriting the segment after the place where argv was stored, which
   was lukely enough on fedora always the environs, which deleted the
   couple first segments. (This was not causing any fuzz, since they
   have been sudo related env vars on the docker image). However, on
   arch this just crashed right away. On Ubuntu this overwrote DISPLAY,
   which resulted in the unability to launch the app.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11600
2020-03-25 22:12:56 +01:00
Hermet Park 476e2b0521 canvas 3d: remove all canvas3d features across efl.
Reviewers: jsuya, kimcinoo, bu5hm4n, raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11552
2020-03-25 19:14:02 +09:00
Marcel Hollerbach cd13b40f66 edje_cc: free ecore_evas
we have initialized it, we should shutdown it.
This was we are not getting random vtable allocation leak reports in the
asan job anymore.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11572
2020-03-24 20:41:14 +01:00
Stefan Schmidt 912fbe79a2 exactness: switch from homegrown debug printf to eina_log
Use a full eina_log domain here for each executable. No need to have a
own half baked ex_printf version here for such things.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11558
2020-03-24 12:24:07 +01:00
Stefan Schmidt 9da0235d74 exactness: remove exactness library and move code into binary folder
We do not want to have EAPI from exactness exposed at this point without
any real user. I know of no application using the exactness library.
If we come to that point we can move things back into a lib, but for now
having the code shared between the various executables is all we need.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11545
2020-03-24 12:24:04 +01:00
Lucas Cavalcante de Sousa 117450e3fa C#: Update C# code-generation to use a new ICustomMarshaler in some string usages that were leaking
When `C` calls a function that return/has an out string and it was overwritten by `C#` inherit class the `C` portion
wasn't cleaning its copy. Now, when a `C` calls a `C#` delegate function, `Strings` that are `out` values or `return`
values use a new marshaler (specific to this case) that uses Eina short lived strings (`Eina_Slstr`) instead of
duplicating it with `strdup`, so at some point, the string passed to `C` is deleted.

To do so, a `direction_context` (a new `Context` at `generation_contexts.hh`) was created. It is only used when a C#
delegate is being called from C (so this context is only set in `function_definition.hh` and `property_definition.hh`,
where it is set to `native_to_manage` to indicate that it is a native call to a managed function).

When this `direction_context` is set and the `String` being marshaled is not marked with an `@move` tag and it is an
`out` or `return` value, the new `StringOutMarshaler` (implemented at `iwrapper.cs`) is used (instead of
`StringKeepOwnershipMarshaler`).

When marshaling a managed data to native this marshaler uses eina short lived string (`Eina_Slstr`) that will be
automatically deleted. This delete is bounded to "the loop of the current thread or until the clear function is called
explicitly" as said at `src/lib/eina/eina_slstr.h`.

Reviewed-by: Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D11434
2020-03-23 14:18:16 -03:00
Mike Blumenkrantz 831d445cc0 efl_ui/image: implement efl.player::playback_loop property
this enables the existing looping functionality only when playback_loop
is set (which is always set for legacy widgets)

fix T8589

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11308
2020-03-20 15:57:51 +01:00
Mike Blumenkrantz c18327d5df efl_ui/image: implement efl.player::autoplay for image widgets
this just calls efl.player::playing_set any time autoplay is true and
the internal image object is preloaded

ref T8589

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11306
2020-03-20 15:57:44 +01:00
Hermet Park 849b37d641 canvas3d: remove all feature implementation in edje/edje_cc
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Reviewed-by: Shinwoo Kim <cinoo.kim@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11547
2020-03-20 15:57:41 +01:00
Stefan Schmidt 2359386d5d exactness: remove support for legacy .rec format
From now on we will only go with the new .exu format. All tests have
been converted two and a half years ago already. If there still is a
need for this in some corner cases the external exactness application
still has support for this.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11537
2020-03-20 12:04:40 +01:00
Stefan Schmidt 2754bc93e6 exactness: factor out the special _mkdir() handling
We have an ecore function to handle most of this already. For the case
where we give a file name cut off that part before handing it off to
creation.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11458
2020-03-20 12:04:37 +01:00
Stefan Schmidt b84694f518 exactness: factour out the program invoke code
It needs a little special case handling for the player (to load the edj
file), but the rest is really the same.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11460
2020-03-20 12:04:35 +01:00
Hermet Park 0583b14307 canvas 3d: remove canvas3d edje
Summary: Remove functional stuff, leave as deprecated for compatibility.

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11541
2020-03-19 18:49:17 +09:00
Marcel Hollerbach 561906399c efl_ui_spotlight: Introduce animation manager
the manager is basically not new, its just the moved fade manager, with
a little bit more utilization. The manager now can be equipt with 3
animaton objects that are played when the correct reason happens.

For now the fade manager is the only thing that uses that.

Reviewed-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11358
2020-03-17 10:29:57 +01:00
Mike Blumenkrantz af96a44ef7 efl/wl: add docs for base compositor object
Summary:
also rename some methods

Depends on D11500

Reviewers: bu5hm4n, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11501
2020-03-13 12:17:22 -04:00
Xavi Artigas a004befea5 doxygen docs: Fix illegal references
Mostly typos and unescaped # signs
2020-03-12 17:24:07 +01:00
Mike Blumenkrantz 955574c044 add EFL_VERSION_1_24 define
Summary: this needs to go in right after every release

Reviewers: stefan_schmidt, devilhorns

Reviewed By: stefan_schmidt, devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11477
2020-03-12 12:17:07 -04:00
Mike Blumenkrantz 42480c5ebf efl-wl: rename to efl.canvas.wl
Summary:
this is a canvas object so it needs to be in the canvas namespace

Depends on D11475

Reviewers: segfaultxavi, bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11476
2020-03-12 12:17:07 -04:00
Mike Blumenkrantz e6573154dc efl-wl: start conversion to eo
Summary:
this converts the main efl-wl object to an eo-based canvas group object

Depends on D11465

Reviewers: segfaultxavi, bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11454
2020-03-12 12:17:07 -04:00
Stefan Schmidt b69bc02c02 exactness: factor out duplicated code for debug session handling
No need to have these macros ducplicated in two file, we can just share
them and reduce maintenance.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11459
2020-03-12 16:41:07 +01:00
Stefan Schmidt 525113650d exactness: hamonize use of PATH_MAX as maximal path length allowed
There have been to many different defines for this in exactness.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11457
2020-03-12 16:41:05 +01:00
Stefan Schmidt f8299e0542 exactness: factor out _printf() handling into common part
First step to do some re-factoring of the exactness binaries. We will
share common parts from the different binaries in common.{c,h} to reduce
the code duplication. The start makes _printf() used in various places.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11456
2020-03-12 16:41:03 +01:00
Carsten Haitzler b98f8bdbe4 edje_cc - provide better error info log on part id out of range 2020-03-12 14:40:14 +00:00
junsu choi 107e425ef6 edje: Rename Json to Lottie in edj supporting
Summary:
The json file used by edje is for lottie output.
json can be used in many ways. So the purpose is clear.

Test Plan: N/A

Reviewers: Hermet, kimcinoo, herb

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11478
2020-03-10 15:42:13 +09:00
Jaehyun Cho 2f9b4a7080 elc_naviframe: fix to delete item once by elm_object_item_del in pop_cb
If elm_object_item_del is called in pop_cb and pop_cb returns
EINA_FALSE, then the given item is destructed by _item_noref when
efl_unref is called after pop_cb.

After the above destruction, efl_del is called after the above efl_unref
and it deletes the item again.

Not to delete item after the item is destructed, efl_del after pop_cb is
removed.
2020-03-06 14:33:07 +09:00
Xavi Artigas 9aecf76824 doxygen docs: fix multiple defined @section's
Section names must be globally unique.
We rarely reference sections so we don't actually need to use @section
and a simple header suffices.
2020-03-03 18:49:20 +01:00
Mike Blumenkrantz d300e90d39 efl/gesture: port 'rotate' gesture from elm to new gesture framework
this is a 1:1 port with minimal changes other than what's necessary to
integrate into the new framework

Differential Revision: https://phab.enlightenment.org/D11383
2020-03-03 10:54:28 +01:00
Mike Blumenkrantz 641c9427ef efl/gesture: rename long_tap -> long_press
this is consistent with the rest of efl naming

ref T8503

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D11376
2020-03-03 10:54:26 +01:00
Stefan Schmidt c6dba86e4c exactness: check success of mkdir
Evaluate return code of mkdir() and print error if it fails.

CID: 1419844

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11429
2020-03-02 17:06:15 +01:00
Stefan Schmidt ce912f688e exactness: inspect: use logical OR instead bitwise XOR
Coverity pointed these out as we deferences after null check.
Looking into it showed these use of a bitwise operator on vars where it
does not make any sense (to me). They look like wrongly done NULL
checks. Switchign them over to a logical OR operator.

CID: 1419876, 1419869, 1419868, 1419862, 1419854, 1419849

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11432
2020-02-27 15:58:34 +01:00
Stefan Schmidt a3fdc0dc36 exactness: inspect: remove unreachable code
If dt equals EX_FONTS_DIR we would have returned already.

CID: 1419879

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11430
2020-02-27 15:58:32 +01:00
Stefan Schmidt 07d826ccbf exactness: handle error cases for saving an image
Handle the error case and propagate the error upwards.

CID: 1419855

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11428
2020-02-27 15:58:29 +01:00
Stefan Schmidt 5e675938d5 exactness: use eina_strdup() to avoid extra NULL checking
strdup() would not be happy about a NULL to copy, but we have
eina_strdup in place already to handle this gracefully.

CID: 1419846

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11421
2020-02-26 15:15:50 +01:00
Stefan Schmidt 983d03d012 exactness: check return code from ecore_evas_init
Check if we can initialize correctly and return failure if not.

CID: 1419872, 1419864, 1419867, 1419850

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11420
2020-02-26 15:15:48 +01:00
Stefan Schmidt de389fbe5e exactness: avoid leak on leaving scope
Before we leave the fucntion here we need to free our temporaray paths
variable.

CID: 1419860

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11411
2020-02-26 15:15:45 +01:00
Stefan Schmidt fa0fd8214f exactness: player: allow space for the terminating null
Allocate extra space for the terminating null byte and / of the string.
Switch to snprintf() as well.

CID: 1419863

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11410
2020-02-26 15:15:43 +01:00
junsu choi 7d4bcd6da1 elementary_test/ui_spotlight: Fix warnings about use to uninitialized value.
Summary:
remove warnings.
../src/bin/elementary/test_ui_spotlight.c:1126:9: warning: 'view' may be used uninitialized in this function [-Wmaybe-uninitialized]
...

Test Plan: N/A

Reviewers: YOhoho, Hermet, Jaehyun_Cho

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11418
2020-02-26 16:33:26 +09:00
Stefan Schmidt 03ed41517c exactness: injector: free local buffers
Make sure we free local resources before we break.

CID: 1419845

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11414
2020-02-25 16:43:32 +01:00
Stefan Schmidt e638dbd8ea exactness: inspect: free image before leaving scope
We need to amke sure we free this images before we return.

CID: 1419848

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11413
2020-02-25 16:43:30 +01:00
Stefan Schmidt 64b83d1e2e exactness: close file we opened
We only opened it read only, but this should still be closed before
leaving.

CID: 1419853

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11412
2020-02-25 16:43:28 +01:00
Stefan Schmidt 9caa31357c exactness: inspect: free local allocation before leaving scope
Before we leave the scope here this needs to get free'd up or it will
leak.

CID: 1419877

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11408
2020-02-25 16:43:23 +01:00
Stefan Schmidt 2248e84a4b exactness: inspect: fix memory leak of buffer in error path
If we hit this error path we need to release the allocated buffer.

CID: 1419878

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11407
2020-02-25 16:43:20 +01:00
Yeongjong Lee d8da207f5f test_efl_gfx_vg_value_provider: expand buffer to avoid truncation by snprintf
Test Plan: compile with `-Wformat-truncation`

Reviewers: raster, Hermet, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11405
2020-02-25 12:26:37 +01:00
Wonki Kim 7da106ec68 edje: modify to respect user set fixed property
Summary:
this patch is related with @D11365.

rather than undoing optimization edje calc,
this patch introduces a user_set property which enables edje_calc
to respect user set property.

Reviewers: bu5hm4n, eagleeye, YOhoho, Hermet, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers, woohyun, eagleeye, bu5hm4n

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11366
2020-02-19 12:40:39 -05:00
Felipe Magno de Almeida df0715a9aa C#: Add error checking for Eina.Success_Flag return type
When a get and/or set from property is defined to return, explicitly,
a Eina.Success_Flag, the mono generator will check the return value
and generate an exception if the call fails.
Resolves T8383.

Reviewed-by: João Paulo Taylor Ienczak Zanette <joao.tiz@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D11281
2020-02-18 17:53:19 -03:00
João Paulo Taylor Ienczak Zanette eba07471a0 csharp: Add IntPtr to/from IEnumerable conversion for "accessor" types
Adds a special case for "accessor" complex types in `implicit operator` for
structs and `IntPtr`s, in which an IEnumerator must be converted to/from an
IntPtr.

Reviewed-by: YeongJong Lee <cleanlyj@naver.com>
Reviewed-by: Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D11210
2020-02-18 16:52:59 -03:00
Felipe Magno de Almeida 595cb754b3 eolian-mono: Make Get/Set internal for generated properties
Make Get and Set methods internal for properties that get the
property syntax generated.

Reviewed-by: João Paulo Taylor Ienczak Zanette <joao.tiz@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D11252
2020-02-18 16:47:38 -03:00
Xavi Artigas cf02feb9ba mono: Add "out" as a reserved word
This will turn it into kw_out just like it is done for "in".
Otherwise it cannot be used as a parameter name, for example.
2020-02-17 12:35:00 +01:00
junsu choi a4311f73ee edje: Disable the json vector animation feature with a flag.
Summary:
Json vector animation requires the json loader to be loaded.
Therefore, if the loader does not load,
it prints an appropriate error message and disables the feature.

Depends on D11228

Test Plan: N/A

Reviewers: Hermet, Jaehyun_Cho, id213sin

Reviewed By: Hermet

Subscribers: raster, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11230
2020-02-17 19:14:14 +09:00
YoungBok Shin 2fe158ce65 edje: add json file support feature
Summary:
It also starts to support following new edc properties.
This is backported patch from Tizen 5.0

1. frame
desc { "default"
   vector {
      frame: 0.5; // 0.0 ~ 1.0
   }
}

2. actions
program { "vector_animation";
   // VG_ANIM_PLAY, VG_ANIM_PLAY_BACK, VG_ANIM_LOOP,
   // VG_ANIM_STOP, VG_ANIM_PAUSE, VG_ANIM_RESUME
   action: VG_ANIM_PLAY;
   target: "your_vector_part";
}

@feature

Co-authored-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
  - Fix to remove Efl.Canvas.Animation_Player on edje

Test Plan:
{F3840540}
{F3840542}
{F3840543}
make and test attached file

edje_cc -beta -id ./ json_edc.edc json.edj
gcc -o test test_edc.c -g `pkg-config --cflags --libs evas elementary rlottie`
./test

Reviewers: Hermet, Jaehyun_Cho, id213sin

Reviewed By: Hermet

Subscribers: segfaultxavi, raster, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11228
2020-02-17 18:59:09 +09:00
Carsten Haitzler f02cb1cb0d edje player - make it more useful with padding option
so you can see the overflow outside and edje object, add padding as an
option to move the obj inside the win. this means also nuking the
over-engineered box stacking thing... :)
2020-02-15 14:36:09 +00:00
Hermet Park 0a26ea3594 elementary value provider: replace sprintf() with snprintf()
Avoid vulerable function usage in the test code
2020-02-14 17:24:39 +09:00
Mike Blumenkrantz f80189c343 elm_test: add zoom recognizer handling to gesture test
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11330
2020-02-14 09:21:21 +01:00
João Paulo Taylor Ienczak Zanette 651517808c csharp: Generating documentation for tuple-value properties.
Adds documentation for tuple-value properties (properties with
multiple values), so the following Eo:

```
@property multi_valued_prop {
   [[ A multi valued property. ]]
   get {}
   set {}
   values {
     prop1: int; [[ Dummy property's first element. ]]
     prop2: int; [[ Dummy property's second element. ]]
   }
}
```

Generates the following documentation:

```
/// <summary>A multi valued property.<br/>
/// Since EFL *current version*.</summary>
/// <value>A tuple containing the following information:
/// <list type="bullet">
/// <item><description><c>prop1</c> (<c>Item0</c>): Dummy property&apos;s first element.</description></item>
/// <item><description><c>prop2</c> (<c>Item1</c>): Dummy property&apos;s second element.</description></item>
/// </list></value>
```

Note: This commit also adds a default separator between tag name and
parameters in `generate_opening_tag`.

Ref T8468.

Differential Revision: https://phab.enlightenment.org/D10889
2020-02-13 15:38:42 -03:00
Stefan Schmidt bf2b9adec5 exactness_player: fix running of exactness player after compile fix
Summary:
The last compile fix broke the execution of exactness. When replacing
_POSIX_PATH_MAX with PATH_MAX here we did not catch that it would
overwrite out of bounds here as the original _POSIX_PATH_MAX is limited
to 256 while PATH_MAX can go up to 4096. This screws up the size of the
memset.

Reviewers: zmike, bu5hm4n, vtorri, ali.alzyod

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11317
2020-02-12 12:10:04 -05:00
João Paulo Taylor Ienczak Zanette 9510702ede csharp: Fix managed name when solving Get/SetType name clash
Summary:
If you declare a property called "type", the generated getter method
would be called "GetType", clashing with "System.Object.GetType" method. The
current workaround for that is to straight-forwardly insert the respective
class/abstract's Eolian name into the function name (becoming, for example
"GetMy_ClassType"), sometimes getting inconsistent to not only other methods
but also with documentation (leading to XML errors, since a cref doc would
reference "GetMyClassType", which doesn't exists).

This patch fixes that by wrapping the Eolian name with the already existing
`managed_name` function.

Test Plan: Run ninja tests.

Reviewers: zmike, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11331
2020-02-12 16:43:25 +01:00
Wonki Kim 7417436526 edje_cc : remove potential NULL dereferencing
Summary: this patch removes potential NULL deferencing in edje_cc

Reviewers: jsuya, Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11326
2020-02-12 16:47:00 +09:00
Yeongjong Lee eb4af00c30 elm perf_test: fix warning of implicit conversion of floating point
Summary:
The result of integral division is converted into floating point.
In order to fix this warning, it changes denominator to double from integer.

Reviewers: Jaehyun_Cho, Hermet, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11313
2020-02-11 08:56:34 -05:00
Stefan Schmidt 5f1047c8b4 exactness_player: make use of PATH_MAX define instead of posix variant
The use of _POSIX_ has lead to a compile problem on old Ubuntu (16.04)
versions. We use PATH_MAX everywhere else so follow suit here.

Fixes T8613

Reviewed-by: Ali Alzyod <ali198724@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11305
2020-02-10 14:01:47 +01:00
Marcel Hollerbach 1e4713a25c exactness: fix osx build
edje depends on more than just edje_cc.
2020-02-07 15:04:03 +01:00
Stefan Schmidt ea3c30ca1e exactness: cleanup some coding style isues
Just a few that I spotted when looking over the code.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11290
2020-02-07 11:31:28 +01:00
Stefan Schmidt 248f3d9d6b exactness: fix init/shutdown handling of efl components in various binaries
The init/shutdown handling for efl libraries was a bit sloppy and
unbalanced in the exactness binaries. Switching over to use
ecore_eas_init/shutdown here instead of doing all libs individually.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11289
2020-02-07 11:31:25 +01:00
Stefan Schmidt 6a4e297ec8 exactness: remove unused code
Either commented out, blank lines or no needed includes.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11288
2020-02-07 11:31:21 +01:00
Stefan Schmidt 93bdf120d0 exactness: remove no longer needed EO and BETA API defines
This has been in place during development and not updated for recent
changes and merge into efl master.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11287
2020-02-07 11:31:18 +01:00
Stefan Schmidt 594643b39e exactness: print out statistics at the end of the run
Given a better overview after the wall of text we are seeing from
starting and stopping jobs in parallel.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11286
2020-02-07 11:31:16 +01:00
Daniel Zaoui 50dbfcf31d exactness: import code from external repo into efl.git
Exactness has been developed in a separate git repo for many years. This
finally moves it over into efl. Having it in tree allows us for easier
testing with our current main target elementary_test and integration
into our CI system (patches for this are work in progress already).

We are only importing the lib and binary for test execution, not the
full set of test data. This is would be over 500MB and thus it will stay
in a different repo and only made available during the actual testing.

[The original patch was made by Daniel Zaoui. Over the course of review
and testing it got extended with build fixes for API changes and mingw
compilation support from Stefan Schmidt and Michael Blumenkrantz]

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11285
2020-02-07 11:31:13 +01:00
Stefan Schmidt 78ad088dd7 elementary: build elementary_test additionally as shared object
For our exactness testing we are dlopen() the elementary_test
executable. Until glibc 2.30 this was posible with -pie, but it changed
in the glibc version. They no longer allow these executables to be
dlopen()'ed.

As a workaround for now we are building elementary_test also as a shared
object file which we load and use in the exactness testing process.

The code came from Marcel Hollerbach and I only tested it and fixed up a
small detail.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11284
2020-02-07 11:31:10 +01:00
Marcel Hollerbach 77a04db578 efl_ui_tab_pager: do not directly inherit from spotlight anymore
spotlight moved away from layout, this could have also been solved with
setting a edje object as resize object. However, this commit now
contains the spotlight internally.

The resons why containing it internally is better:
- You now only have one way of selecting a page, marking it as selection
via the selectable API
- You cannot build race conditions between selecting a page and setting
the active_element anymore
- The tab_pager is now also just a simple single_selectable implementor,
which makes this whole usage more convinient.
- There is now a event you can listen to if you want to know if
something has changed the selected item
- push and pop would have never worked correctly in the tab_pager, as
the item would have appeared always before the item was "faded" in. This
possibility is not given anymore

Last but not least, this makes tab_pager usable again, the tab bar is
displayed again.

Differential Revision: https://phab.enlightenment.org/D10775
2020-02-03 17:16:03 +01:00
Tom Callaway c245b576aa Fix build with gcc 10 (which has -fno-common enabled by default).
EFL failed to build from source in Fedora Rawhide as a result of the update to GCC 10. GCC 10 enables -fno-common by default, and this found three issues in EFL:

  # The eina benchmark code defined int key_size in a header that was included in multiple places.
  # The elementary test code defines the "dt1", "dt2", "dt3" vars in two code files which are compiled together (but these variables do not appear to be used globally)
  # The eio test code defines the "ee" var in two code files which are compiled together (but this variable does not appear to be used globally)

I've fixed these issues and confirmed locally that the code builds again in Fedora.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11259
2020-01-31 14:31:57 +01:00
junsu choi 9cb73aea1b vg_common_json: Supports transform properties
Summary:
Supports scale, position, and rotation properties
related to transform among properties supported by value provider.

Test Plan:
Remove 'json' in evas-loaders-disabler
build
elementary_test -to "value provider"
(path : layer.box1)

Depends on D11213

Reviewers: Hermet, smohanty, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11129
2020-01-29 21:42:43 +09:00
Yeongjong Lee b8f5d12d4e eolian_mono: blacklist c-only internal APIs
Summary: This patch prevent generating c-only internal APIs. C# doesn't need c-only APIs.

Test Plan: meson build -Dbindings=mono,cxx -Dmono-beta=true

Reviewers: felipealmeida, Jaehyun_Cho, woohyun

Reviewed By: woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11151
2020-01-29 13:46:37 +09:00
Yeongjong Lee 5ddd384aee eolian_mono: change property name from args to Args
Summary: PascalCasing is always used for property names.

Test Plan: meson build -Dbindings=mono,cxx -Dmono-beta=true

Reviewers: woohyun, felipealmeida, segfaultxavi

Reviewed By: woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11149
2020-01-29 13:45:56 +09:00
Yeongjong Lee 46c65ff0db eolian_mono: generate Efl.IPlayer.PlaybackPosition again
Summary: There is no reason that `efl_player_playback_position_get` is in blacklist..

Test Plan: meson build -Dbindings=mono,cxx -Dmono-beta=true

Reviewers: Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11152
2020-01-29 13:14:13 +09:00
junsu choi 7e7496f25a Efl.Player: Move autoplay/playback_loop from Efl.Ui.Vg_Animation
Summary:
Move autoplay and playback_loop method from Efl.Ui.Vg_Animation/
and The playback_loop changed from looping
because it conflict with the efl_ui_scrollable's symbol.
Efl.Ui.Image and Efl.Ui.Image_Zoomable is needed implements about this method.
So it temporarily set the @empty marker.

ref T8476

Test Plan:
elementary_test -to "Vector Graphics Animation"
check to 'loop'

Reviewers: Hermet, bu5hm4n, zmike, Jaehyun_Cho, jsuya

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers, woohyun, kimcinoo

Tags: #efl

Maniphest Tasks: T8476

Differential Revision: https://phab.enlightenment.org/D11212
2020-01-28 16:56:04 +01:00
Yeongjong Lee 581bec9598 eolian_mono: make struct immutable
Summary:
Immutable value type is recommeneded for struct type in cs world.
`DO NOT define mutable value types.`
(see, https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/struct)

Also, this patch include refactoring of generated struct types.
1. Change field type to property type that have only getter. it will fix CA1051(ref T8397).
2. Remove internal NativeStruct. there is private field for marshalling struct instead.
3. Fix some test cases that change value inside struct. because struct is immutable.

Test Plan: meson build -Dbindings=mono,cxx -Dmono-beta=true

Reviewers: woohyun, felipealmeida, Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8397

Differential Revision: https://phab.enlightenment.org/D11146
2020-01-28 14:46:10 +09:00
João Paulo Taylor Ienczak Zanette 5d982dd985 csharp: Escape contents of struct fields' value tag.
Summary:
In structs' definition, field `<value>` tags weren't scaping
characters, so characters like "&" would lead to invalid XML errors.

Fixes T8588.

Test Plan: Run ninja test.

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8588

Differential Revision: https://phab.enlightenment.org/D11202
2020-01-27 17:56:06 +01:00
Jaehyun Cho 09e3972d14 efl_ui_spotlight: rename Stack_Manager to Fade_Manager
Summary:
Since Stack_Manager displays fade in/out transition effects, the class
name is renamed from Stack_Manager to Fade_Manager.

Depends on D11142

Reviewers: segfaultxavi, bu5hm4n, zmike

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11143
2020-01-23 12:55:16 +09:00
Jaehyun Cho 3e21d34349 efl_ui_spotlight: rename Manager_XXX and Indicator_XXX
Summary:
In spotlight classes, "Manager" and "Indicator" are used as prefix in
the class names.
e.g. Efl.Ui.Spotlight.Manager_Plain, Efl.Ui.Spotlight.Indicator_Icon

However, those classes are basically manager and indicator classes with
different features. Therefore, "Manager" and "Indicator" should be used
as postfix in the class names.
e.g. Efl.Ui.Spotlight.Plain_Manager, Efl.Ui.Spotlight.Icon_Indicator

However, for the easier usage of C APIs, c_prefix of those classes are
remained to be "efl_ui_spotlight_manager_xxx" and
"efl_ui_spotlight_indicator_xxx".

Reviewers: segfaultxavi, bu5hm4n, zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11142
2020-01-23 12:55:12 +09:00
Yeongjong Lee 97098dcc50 csharp: cleanup concrete class
Summary:
Concrete class is only used to call static member of NativeMethod. they don't
need any inheritance and implementation of c functions.

Depends on D9893

Test Plan: ninja test

Reviewers: lauromoura, felipealmeida

Subscribers: Jaehyun_Cho, woohyun, segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9894
2020-01-23 07:30:14 +09:00
Jaehyun Cho 700d87b370 Revert "efl_mono: remove class ExtensionTag"
Extension Methods' classes have methods with same names and parameters.
e.g. Text<T>(this Efl.Ui.ItemFactory<T> fac)

Although the where clause contains different classes, they cannot be
identified as different methods by C# compiler.
e.g. Text<T>(this Efl.Ui.ItemFactory<T> fac) where T : Efl.Ui.Button
e.g. Text<T>(this Efl.Ui.ItemFactory<T> fac) where T : Efl.Ui.Check

As a result, to avoid ambiguous methods, ExtensionTag should be used as
a second parameter of each method.
e.g. Text<T>(this Efl.Ui.ItemFactory<T> fac, ExtensionTag<Efl.Ui.Button, T>magic = null) where T : Efl.Ui.Button
e.g. Text<T>(this Efl.Ui.ItemFactory<T> fac, ExtensionTag<Efl.Ui.Check, T>magic = null) where T : Efl.Ui.Check

This reverts commit 76631f502a.
2020-01-22 14:44:08 +09:00
Yeongjong Lee cade1b3c3c eolian_mono: avoid generating set-only property
Summary:
According to Property Design Guidelines of MS, set-only properties are not recommeneded.
(see more, https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/property)

Furthermore, there is stylecop warnings(CA1044)

ref T8396

List of removed set-only properies.
```
Efl.Access.Editable.IText.TextContent { set; }
Efl.App.CommandArray { set; }
Efl.App.CommandString { set; }
Efl.Canvas.Filter.IInternal.FilterChanged { set; }
Efl.Canvas.Filter.IInternal.FilterInvalid { set; }
Efl.Canvas.ImageInternal.FilterChanged { set; }
Efl.Canvas.ImageInternal.FilterInvalid { set; }
Efl.Canvas.Textblock.FilterChanged { set; }
Efl.Canvas.Textblock.FilterInvalid { set; }
Efl.Canvas.Vg.Image.Data { set; }
Efl.Canvas.Vg.Node.CompMethod { set; }
Efl.Core.ICommandLine.CommandArray { set; }
Efl.Core.ICommandLine.CommandString { set; }
Efl.Exe.CommandArray { set; }
Efl.Exe.CommandString { set; }
Efl.Ui.AlertPopup.Button { set; }
Efl.Ui.Collection.MatchContent { set; }
Efl.Ui.CollectionView.MatchContent { set; }
Efl.Ui.IScrollable.MatchContent { set; }
Efl.Ui.ImageZoomable.MatchContent { set; }
Efl.Ui.Panel.MatchContent { set; }
Efl.Ui.PositionManager.Grid.DataAccess { set; }
Efl.Ui.PositionManager.Grid.ScrollPosition { set; }
Efl.Ui.PositionManager.Grid.Viewport { set; }
Efl.Ui.PositionManager.IDataAccessV1.DataAccess { set; }
Efl.Ui.PositionManager.IEntity.ScrollPosition { set; }
Efl.Ui.PositionManager.IEntity.Viewport { set; }
Efl.Ui.PositionManager.List.DataAccess { set; }
Efl.Ui.PositionManager.List.ScrollPosition { set; }
Efl.Ui.PositionManager.List.Viewport { set; }
Efl.Ui.Scroll.Manager.MatchContent { set; }
Efl.Ui.Scroll.Manager.Pan { set; }
Efl.Ui.Scroller.MatchContent { set; }
Efl.Ui.Spotlight.Manager.Size { set; }
Efl.Ui.Textbox.TextContent { set; }
Efl.Ui.Widget.ResizeObject { set; }
Efl.Ui.Win.PropFocusSkip { set; }
```

Test Plan: meson build -Dbindings=mono,cxx -Dmono-beta=true

Reviewers: woohyun, felipealmeida, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8396

Differential Revision: https://phab.enlightenment.org/D11138
2020-01-22 09:43:13 +09:00
Yeongjong Lee 292f4bc0da Revert "csharp: Property Indexer implementation"
Summary:
This reverts commit 0954e501fd.

According to Framework Design Guidelines of MS, most of indexed properties are
not recommended in EFL#.
(see, https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/property)

It is better to leave properties which have a key as methods.

Reviewers: woohyun, felipealmeida

Reviewed By: woohyun

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11114
2020-01-21 07:00:44 +09:00
Jaehyun Cho 40b73758a0 efl_canvas_animation: rename Animation_XXX to XXX_Animation
Summary:
In animation classes, "Animation" is not used as a namespace but it is
used as a prefix in the class names.
e.g. Efl.Canvas.Animation_Alpha

However, those classes are basically animation classes with different
features. Therefore, "Animation" should be used as a postfix in the
class names.
e.g. Efl.Canvas.Animation_Alpha -> Efl.Canvas.Alpha_Animation

However, for the easier usage of C APIs, c_prefix of animation classes
are remained to be "efl_animation_xxx".

Reviewers: segfaultxavi, bu5hm4n, zmike, Hermet, jsuya

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11108
2020-01-20 12:53:10 +09:00
Carsten Haitzler f576ea65c3 elm test - make window 480x490 to differentiate width vs height 2020-01-19 10:51:29 +00:00
Marcel Hollerbach bac185e8f3 Introduce Separator
Summary:
this is just like elm_separator, just written for unified widgets.
This inherits from item, which has the advantage that this separator can
also be added into item container.

Reviewers: zmike, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11125
2020-01-17 16:10:40 +01:00
junsu choi 2f4ca46544 Efl.Ui.Vg_Animation: Change property name autorepeat to looping
Summary:
autoplay and autorepeat look similar and can be confusing.
so change autorepeat to looping.

ref T8476
Depends on D11022

Test Plan: N/A

Reviewers: Hermet, bu5hm4n, kimcinoo, segfaultxavi, zmike

Reviewed By: Hermet, segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8476

Differential Revision: https://phab.enlightenment.org/D11061
2020-01-16 20:11:49 +09:00
Carsten Haitzler ee6cc91a03 eina - fix eina_strndup test passing 2020-01-15 19:23:44 +00:00
junsu choi e71cfba201 elementary_test: Apply changed event related to Efl.Ui.Vg_Animation
Summary:
Events has changed from Efl.Ui.Vg_Animation to Efl.Player.
Apply the changes.

ref T8476
Depends on D11080

Test Plan: elementary_test -to "Vector Graphics Animation"

Reviewers: zmike, Hermet, kimcinoo

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers, segfaultxavi, bu5hm4n

Tags: #efl

Maniphest Tasks: T8476

Differential Revision: https://phab.enlightenment.org/D11100
2020-01-15 09:24:12 -05:00
Jaehyun Cho 76631f502a efl_mono: remove class ExtensionTag
Summary:
Since class BindablePart and class BindableProperty use generic type
constraint as "where T : <class name>", class ExtensionTag is no longer
needed.

Reviewers: SanghyeonLee, felipealmeida, YOhoho

Reviewed By: YOhoho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11101
2020-01-15 18:45:38 +09:00
Yeongjong Lee ae30d3c57b eina_mono: replace eina_list and eina_array with IList
Summary:
Eina.List<T> => System.Collections.Generic.IList<T>
Eina.Array<T> => System.Collections.Generic.IList<T>

ref T8486

Depends On D10785

Test Plan: meson build -Dbindings=mono,cxx -Dmono-beta=true

Reviewers: felipealmeida, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8486, T8488

Differential Revision: https://phab.enlightenment.org/D10902
2020-01-14 17:17:05 +09:00
Marcel Hollerbach bbdab35a7a efl_ui_timepicker: make 24h mode work
this is something which was never ever working before. However, while
fixing the 24h mode, it also appeared that the theming was applied in
the wrong spot, which resulted in signals beeing called on a not yet
themed object, so the theming was also fixed. (Which is the theme_apply
change).

To sum up:
 - The theme is now applied by efl_ui_layout_base
 - the range is now correct for 24h mode
 - There is a quite major problem with the theme, see T8546
 - As a quick fix, am / pm button can be disabled.

ref T8546

Differential Revision: https://phab.enlightenment.org/D11004
2020-01-13 15:57:17 +01:00
Jaehyun Cho 66c485d232 eolian_mono: add missing tabs to apply indentation
Missing tabs are added to apply indentation.
2020-01-13 20:49:48 +09:00
Yeongjong Lee 3fc78f69eb eolian_mono: add 1 tab inside the namespace
Summary:
Also, this patch will fix indentation of enum, struct.

### Before
```
namespace Efl.Ui {
/// <summary>Define the move or resize mode of a window.
///
/// The user can request the display server to start moving or resizing the window by combining these modes. However only limited combinations are allowed.
...
[Efl.Eo.BindingEntity]
public enum WinMoveResizeMode
{
/// <summary>Start moving window<br/>Since EFL 1.22.</summary>
Move = 1,
/// <summary>Start resizing window to the top<br/>Since EFL 1.22.</summary>
Top = 2,
...
}
}
```

### After
```
namespace Efl.Ui {
    /// <summary>Define the move or resize mode of a window.
    ///
    /// The user can request the display server to start moving or resizing the window by combining these modes. However only limited combinations are allowed.
...
    [Efl.Eo.BindingEntity]
    public enum WinMoveResizeMode
    {
        /// <summary>Start moving window<br/>Since EFL 1.22.</summary>
        Move = 1,
        /// <summary>Start resizing window to the top<br/>Since EFL 1.22.</summary>
        Top = 2,
...
    }
}
```

Reviewers: Jaehyun_Cho, felipealmeida

Reviewed By: felipealmeida

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11032
2020-01-13 10:16:24 +09:00
Daniel Kolesa a7d5b089da eolian_gen: utilize c_name instead of name for generation
This will make generated output properly respect the @c_name tags.
2020-01-10 20:19:47 +01:00
Mike Blumenkrantz 227483e079 efl/gesture: correct namespacing of all gesture enums in C
these were flattened to all be EFL_GESTURE_$MEMBER, which made them
impossible to read and use effectively

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11026
2020-01-07 16:08:23 +01:00
Yeongjong Lee 278376df90 csharp: rename ExtensionMethods
Summary:
This patch will rename `ExtensionMethods` to `Extensions` that is commonly used
in csharp project.

Depends on D10972

Test Plan: meson build -Dbindings=mono,cxx -Dmono-beta=true

Reviewers: lauromoura, Jaehyun_Cho, felipealmeida

Reviewed By: Jaehyun_Cho, felipealmeida

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10913
2020-01-06 19:08:44 +09:00
Jaehyun Cho 1507ade787 eolian_mono: add namespace to extension methods of ItemFactory
Summary:
Like other classes and methods, the classes and methods for extension
methods of ItemFactory are moved inside the namespace.
Consequently, the namespace in the class name for extension methods is
removed to avoid duplicate namespace name.

Reviewers: lauromoura, felipealmeida, YOhoho, woohyun

Reviewed By: YOhoho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10972
2020-01-06 19:07:28 +09:00
Bruno da Silva Belo 5c99f08511 c#: Checking null for parameters generated code.
Checking null for generated code
ref T8399

Reviewed-by: Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D10970
2020-01-02 22:06:24 -03:00
junsu choi e3b77fcff8 Efl.Ui.Vg_Animation: Implaments Efl.Playable interface
Summary:
Change API
.duration_time => Efl.Playable.length.get

ref T8476
Depends on D10939

Test Plan: N/A

Reviewers: Hermet, bu5hm4n, kimcinoo, segfaultxavi, zmike

Reviewed By: segfaultxavi, zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8476

Differential Revision: https://phab.enlightenment.org/D10953
2019-12-31 09:53:23 -05:00
junsu choi 43288c7ace Efl.Ui.Animation_View : Change class name to Efl.Ui.Vg_Animation
Summary:
Since "View" is a reserved word for MVVM, change the class name appropriately.
Efl.Ui.Animation_View => Efl.Ui.Vg_Animation

ref T8476
Depends on D10931

Test Plan: elementary_test -> "Vector Graphcis Animation"

Reviewers: Hermet, bu5hm4n, kimcinoo, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8476

Differential Revision: https://phab.enlightenment.org/D10939
2019-12-31 09:53:16 -05:00
junsu choi 3dc3deba62 Efl.Player: Add setter of playback_progress
Summary:
The setter of Efl.Player.playback_progress is implemented in each class below.
Efl.Ui.Animation_View
Efl.Ui.Image
Efl.Ui.Image_Zoomable
Efl.Canvas.Video

ref T8476
Depends on D10915

Test Plan: N/A

Reviewers: Hermet, bu5hm4n, kimcinoo, Jaehyun_Cho, segfaultxavi, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8476

Differential Revision: https://phab.enlightenment.org/D10931
2019-12-31 09:53:10 -05:00
junsu choi baa1e6553b Efl.Ui.Animation_View: Change state name
Summary:
play-> playing
play_back -> playing_backwards
pause -> paused
stop -> stoped

Depends on D10862
ref T8476

Test Plan: N/A

Reviewers: Hermet, bu5hm4n, segfaultxavi, kimcinoo

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8476

Differential Revision: https://phab.enlightenment.org/D10915
2019-12-31 09:53:03 -05:00
junsu choi e1afc7c181 Efl.Ui.Animation_View: Implements Efl.Player interface
Summary:
Chnaged API
.speed.set        => Efl.Player.playback_speed.set
.speed.get        => Efl.Player.playback_speed.get
.progress.get     => Efl.Player.playback_progress.get
.play             => Efl.Player.playing.set(true)
.stop             => Efl.Player.playing.set(false)
.pause            => Efl.Player.paused.set(true)
.resume           => Efl.Player.paused.set(false)
.play_sector      => .playing_sector
.auto_play        => .autoplay
.auto_repeat      => .autorepeat

Remove API
.is_playing_back
.playback         => (use negative speed value)

New feature API
Efl.Player.playback_position.set
Efl.Player.playback_position.get
Efl.Player.playing.get
Efl.Player.paused.get

ref T8476

Test Plan:
meson_option.txt -> remove json in evas-loaders-disabler option
elementary_test -to "animation view"

Reviewers: Hermet, bu5hm4n, kimcinoo, Jaehyun_Cho, segfaultxavi, zmike

Reviewed By: segfaultxavi, zmike

Subscribers: zmike, segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8476

Differential Revision: https://phab.enlightenment.org/D10862
2019-12-31 09:52:56 -05:00
Ali Alzyod 2ec10f18d3 elementary_text: Efl.Ui.Textbox Input Field
Entry was added to the same box. This commit fixes this.
You could observe this problem when starting the "Textbox Input Field" demo in elm_test

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10986
2019-12-31 11:42:31 +01:00
Marcel Hollerbach cdb21cd30d efl_ui_progressbar: rename from pulse to infinite_mode
Summary:
ref T8501
Depends on D10942

Reviewers: cedric, woohyun, zmike, segfaultxavi

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8501

Differential Revision: https://phab.enlightenment.org/D10943
2019-12-30 11:10:43 -05:00
Marcel Hollerbach 25731f84da efl_ui_progressbar: remove pulse_mode
Summary:
pulse_mode is now implicit with pulse, if you set the progressbar to
pulse, the state is internally adjusted in a way that the theme is put
into the correct state. Legacy is not impacted by this because of the
previous commit.

ref T8501
Depends on D10941

Reviewers: cedric, woohyun, zmike, segfaultxavi

Reviewed By: zmike, segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8501

Differential Revision: https://phab.enlightenment.org/D10942
2019-12-30 11:08:47 -05:00
Carsten Haitzler f989cea52d elm - add plain and icon style radio and check and elm tests for it
this will be common enough to put into elm - there is no way to do a
gimp style "tool palette" where you select one of them (like one from
a set of radio buttons) at all times... but you don't want the "round
circle" but instead want it to look more like a button to fit in with
a palette style look. this calls for styles... so here they are.

@feat
2019-12-28 20:39:08 +00:00
Yeongjong Lee 934a93e39f eolian_mono: check extension part/property existence before generate ExtensionMethods
Empty ExtensionMethods class won't be generated.

Reviewed-by: Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D10954
2019-12-23 14:29:39 -03:00
Lauro Moura 0954e501fd csharp: Property Indexer implementation
Use Indexers to use brackets, eg [i], syntax.

Keys now can be used as following:

var someVal = obj.SomeProperty[key];
obj.SomeProperty[key] = someNewVal;

And for multiple keys:

var someVal = obj.SomeProperty[(key1, key2)];
obj.SomeProperty[(key1, key2)] = someNewVal;

T8384

Reviewed-by: WooHyun Jung <wh0705.jung@samsung.com>
Differential Revision: https://phab.enlightenment.org/D10791
2019-12-23 13:50:12 -03:00
SangHyeon Jade Lee b9b9287454 eolian_mono : add verb unselect on naming helper.
Summary:
currently select is verb and mono name is exposed SelectAll
but unselect is non-verb and mono name is exposed AllUnselect.
to fix this differencies, add unselect in the verb list.

Reviewers: segfaultxavi, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10952
2019-12-23 16:21:10 +09:00
Ali Alzyod 8dbc75fdce efl_text_attribute_factory: rename to efl_text_formatter
Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8455

Differential Revision: https://phab.enlightenment.org/D10925
2019-12-20 12:43:00 +01:00
Ali Alzyod 5cf7fa7670 efl.text.style: rename methods/properties and add text_ prefix
Summary:
efl.text.style: rename methods and properties

this change will avoid conflict in the future with other interfaces or class methods.

```
      Efl.Text_Style.text_color { set; get; }
      Efl.Text_Style.text_backing_type { set; get; }
      Efl.Text_Style.text_background_color { set; get;}  //this was backing_color
      Efl.Text_Style.text_underline_type { set; }
      Efl.Text_Style.text_underline_color { set; get; }
      Efl.Text_Style.text_underline2_color { set; get; }
      Efl.Text_Style.text_underline_dashed_color { set; get; }
      Efl.Text_Style.text_underline_height { set; }
      Efl.Text_Style.text_underline_dashed_width { set; }
      Efl.Text_Style.text_underline_dashed_gap { set; }
      Efl.Text_Style.text_strikethrough_type { set; }
      Efl.Text_Style.text_strikethrough_color { set; get; }
      Efl.Text_Style.text_effect_type { set; }
      Efl.Text_Style.text_shadow_direction { set; }
      Efl.Text_Style.text_outline_color { set; get; }
      Efl.Text_Style.text_shadow_color { set; get; }
      Efl.Text_Style.text_glow_color { set; get; }
      Efl.Text_Style.text_glow2_color { set; get; }
```

T8533

Reviewers: woohyun, segfaultxavi, bu5hm4n, zmike, cedric

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10897
2019-12-20 09:58:27 +01:00
Jaehyun Cho 8146728c78 eolian_mono: change Constants class to static class
Summary:
Since Constants class contains static readonly values only, the
Constants class is actually a static class.
Therefore, Constants class is changed from public partial class to
public static partial class.

ref T8398

Reviewers: YOhoho, lauromoura

Reviewed By: YOhoho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10929
2019-12-20 14:27:14 +09:00
Yeongjong Lee a9fa8da384 eolina_mono: prevent empty ExtensionMethods class
Test Plan:
Check the code below is removed from `efl_ui_box_stack.eo.cs`.
```
#if EFL_BETA
#pragma warning disable CS1591
public static class CoreUI_UIBoxStack_ExtensionMethods {
}
#pragma warning restore CS1591
#endif
```

Reviewers: lauromoura, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10905
2019-12-19 16:30:48 +09:00
Marcel Hollerbach 837528201f efl_ui_format: make this usable with the standard behaviour of accessors
a accessor is never delivering a value, only the pointer to a value.
This makes format working with accessors for list array carray.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10909
2019-12-18 21:45:45 +01:00
Xavi Artigas f1ae8e0d98 elm_test: small whitespace issue 2019-12-18 15:03:17 +01:00
Yeongjong Lee 8e951504f5 csharp : add move tag info to EinaAccessor, EinaIterator converter
Summary:
Included commits in devs/lauromoura/remove_eina_mono-rebased
```
commit ed6679db19
Author: Lauro Moura <lauromoura@expertisesolutions.com.br>
Date:   Mon Dec 2 13:58:04 2019 -0300

    csharp: add move information to EnumerableToAccessor

    Still need to fix the converted accessor ownership, maybe by creating a
    custom accessor class that released the pinned memory when is freed.
```

ref T8486

Depends On D10878

Co-authored-by: Lauro Moura <lauromoura@expertisesolutions.com.br>

Test Plan: meson build -Dbindings=mono,cxx -Dmono-beta=true

Reviewers: YOhoho

Reviewed By: YOhoho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8486

Differential Revision: https://phab.enlightenment.org/D10879
2019-12-17 11:34:42 -03:00
Yeongjong Lee f90a97470d eina_mono: replace EinaAccessor and EinaIerator with IEnumerable
Summary:
Eina.Accessor<T> => System.Collections.IEnumerable<T>
Eina.Iterator<T> => System.Collections.IEnumerable<T>

Unit test will work with D10879.

ref T8486

Test Plan: meson build -Dbindings=mono,cxx -Dmono-beta=true

Reviewers: lauromoura

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8486

Differential Revision: https://phab.enlightenment.org/D10878
2019-12-17 11:34:30 -03:00
Xavi Artigas 16efc25ceb elm_test: workarounds for canvas_textblock style
The horizontally scrollable single-line text input box does not currently visible.
This patch turns it into a vertically scrollable multiline input box, with an
arbitrary minsize.
Also, make the label unselectable.
2019-12-16 11:35:35 +01:00
Xavi Artigas 905020bc7c elm_test: Remove unused variable in test_win_stack 2019-12-13 12:37:27 +01:00
Xavi Artigas bd0231e98b eolian_mono: proper parsing of doc notes and paragraphs
Summary:
The documentation tokenizer relies on proper separation of paragraphs,
and we were not doing that. This fixes detection of Note:, Warning:,
Remark: and TODO: tags.
Additionally, we were removing the blank line between the summary and
the description, artificially joining them.

Test Plan: Everything builds and passes tests, and docs with `Note:` tags are correctly rendered (like `Efl.Loop_Consumer.new_promise`, for example)

Reviewers: lauromoura

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10868
2019-12-12 19:07:59 -03:00
João Paulo Taylor Ienczak Zanette ca3a913375 csharp: Implement Deconstruct for structs.
Summary:
Usage example:

```
var (x, y) = somePos2D;
```

Not available on Mono environment due to [`mcs` not implementing
it](a3de0304a1/mcs/mcs/tuples.cs (L590)).
To keep tests from breaking because of it, a `MONO` preprocessor variable is
defined and checked during test compilation.

Ref T8489.

Reviewers: brunobelo, lauromoura, segfaultxavi

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8489

Differential Revision: https://phab.enlightenment.org/D10809
2019-12-12 18:45:20 -03:00