Commit Graph

20688 Commits

Author SHA1 Message Date
Hermet Park 408bfb3e35 evas vector: make it stable caching logic.
We need a more precise caching mechanism to save memory.
Current root node(key) is limited for caching buffers,
when to share by the multiple animated instances.

This patch is a step for further optmization work,
at the moment we disable the caching buffers for the animated instances.
2019-11-28 14:20:08 +09:00
abdulleh Ghujeh f6caca1d70 Efl Canvas Text : Modify Style Property
Summary:
This patch defines the way style property will work at canvas_text object

1- Changing canvas_text style property using Font/Format/Style interfaces or with efl_canvas_text style property are the same.
     Example:

```
efl_text_font_set(tb, "Arial", 30);
//is same as
efl_canvas_text_style_set(tb, "font=Arial font_size=30");

//which means calling
char * font;
int size;
int font_size;
efl_text_font_get(tb, &font, &size);
// calling this after any of the top two functions will return same result
```

2- style_get_property
     Will return string that contains full details about all the current applied style at canvas_text  level.

3- style_set_property
     Will only override passed styles and leave everything else as it is

```
efl_canvas_text_style_set(tb, "font=Arial");  // overrider font name to Arial and leave everthing else
efl_canvas_text_style_set(tb, "font_size=30");  // overrider font size to 30 and leave everthing else (font name will stay arial)
```

Reviewers: ali.alzyod, woohyun, tasn, segfaultxavi, bu5hm4n, zmike

Reviewed By: woohyun

Subscribers: zmike, bu5hm4n, segfaultxavi, a.srour, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10607
2019-11-28 13:14:15 +09:00
Carsten Haitzler 2ca6c301e4 edje - fix min size calc after being broken by previous commit
37b55172b0 breaks min size calc. elm
toolbar was being squashed. e toolbars also were becoming 0 sized.
Just because a swallow does not have content does not mean it does not
affect the minimum size. there still could be a min size set on it
anyway etc. ...
2019-11-28 00:06:15 +00:00
Carsten Haitzler 0ecbb416ad build - handle g-main-loop enabled when glib not as an error in meson
also enable glib now in ci
2019-11-27 17:51:54 +00:00
Carsten Haitzler 1127409564 eina - add portable close all fd's we don't need function
close all fd's starting at a given fd and then leving out an exception
list specially passed, if any. useful for fork+exec. this uses it in
efl's fork+exec paths.

@feat
2019-11-27 16:52:49 +00:00
Marcel Hollerbach dd941fe4f8 remove unused code file
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10707
2019-11-27 15:55:18 +01:00
Marcel Hollerbach ebf8d0cf30 theme: rename pager to spotlight
that mirrors the name of the widget.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10706
2019-11-27 15:55:15 +01:00
Marcel Hollerbach 3ad70802c6 efl_ui_spotlight_manager_*: remove size and position events
there is no need to listen to them, they are already listent to by the
container, and new sizes are told via the size property.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10704
2019-11-27 15:55:09 +01:00
Marcel Hollerbach 58a2fa931b efl_ui_spotlight_manager: remove the group object
i do not know why its there, it caused a bug in the past (in regards of
clippers and visibility). Now we can get rid of it completly, the state
of it is always compatible to the one of the widget itself, soooo ...

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10702
2019-11-27 15:55:03 +01:00
Marcel Hollerbach 5932520f03 efl_ui_spotligt: make it possible to freeze animations
this new API makes it possible to stop animations beeing executed in the
spotlight manager. (The logic in the spotlight managers itself are
already implemented).
The animation will also be frozen during construction time of the
spotlight.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10701
2019-11-27 15:55:00 +01:00
Marcel Hollerbach 3838112294 Revert "gesture_manager: Changed function param to reduce internal function calls."
This has still open review comments, lets solve them, and *then* land
it.

This reverts commit 2f41f867ae.
2019-11-27 15:54:57 +01:00
Hermet Park 643dceca3d vector container: skip copying compositions precisely.
+ added some comments for future tasks.
2019-11-27 21:06:42 +09:00
Woochanlee 2f41f867ae gesture_manager: Changed function param to reduce internal function calls.
Summary:
The filter_event function calling a lot of times when it runs.

This can help performance by reducing the number of calls to the efl_data_scope_get() function.

Reviewers: Hermet, smohanty, bu5hm4n

Reviewed By: Hermet

Subscribers: zmike, bu5hm4n, q66, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10437
2019-11-27 14:28:48 +09:00
Ali Alzyod c7f37fe618 Efl.Text.Attribute_Factory
Summary:
Implementation of new Efl.Text.Attribute_Factory class which replace the annotation interface.

Currently, we have two public methods:

```
void efl_text_attribute_factory_attribute_insert(const Efl_Text_Cursor *start, const Efl_Text_Cursor *end, const char *format)
unsigned int efl_text_attribute_factory_attribute_clear(const Efl_Text_Cursor *start, const Efl_Text_Cursor *end);
```

Other methods will be internal methods, for the time being, we will redesign internal methods

Reviewers: woohyun, tasn, segfaultxavi, bu5hm4n, zmike

Subscribers: zmike, q66, cedric, segfaultxavi, bu5hm4n, a.srour, #committers, #reviewers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10646
2019-11-27 13:04:32 +09:00
Lauro Moura 11094aeaaf csharp: Add more since tags to members
Summary:
- Class constructors and other members
- Aliases fields

ref T8359

Reviewers: felipealmeida, segfaultxavi, brunobelo, woohyun

Reviewed By: felipealmeida

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8359

Differential Revision: https://phab.enlightenment.org/D10419
2019-11-26 12:40:32 -03:00
Hosang Kim 09fd7ca8d6 ecore_timer: add NULL checking for timer data.
When timer is not created, a crash occurs.
For example, when user create ecore timer in the pthread..
Of course this is not the correct usage, but printing ERR message is enough.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10714
2019-11-26 16:00:20 +01:00
Yeongjong Lee a21f615a19 eo: add missing move tag
`efl_access_action_actions_get`
the list is created by `eina_list_append`

`efl_ui_format_values_set`
the accessor is freed in that function.
`efl_ui_format_values_get`
The accessor is created by `eina_inarray_accessor_new`

`efl_core_command_line_command_access`
The accessor is created by `eina_array_accessor_new`

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10720
2019-11-26 15:51:08 +01:00
Yeongjong Lee fba098df38 eo: add move tag to iterator
It is impossible to reuse iterator after `EINA_ITERATOR_FOREACH`(`eina_iterator_next`).

E.g.
```
eina_init();

eina_file_dir_list("/home/", EINA_FALSE, _print_cb, NULL);

it = eina_file_ls("/home/");
EINA_ITERATOR_FOREACH(it, f_name)
  {
     printf("%s\n", f_name);
     eina_stringshare_del(f_name);
  }
EINA_ITERATOR_FOREACH(it, f_name)
  {
     printf("Again %s\n", f_name);
     eina_stringshare_del(f_name);
  }
eina_iterator_free(it);
```
`Agian ...` is never printed.

Therefore, iterator always need `@move` tag to avoid unexpected behavior without
any error message.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10719
2019-11-26 15:51:05 +01:00
Woochanlee 4ebbe0ad04 edje_calc: Creation macro that perform edje calc, regardless of the edje size.
Summary: edje_recalc_do() needs to be executed regardless of the size of edje in order to deliver edje properties for the API that the user calls.

Reviewers: cedric, Hermet, Jaehyun_Cho, smohanty

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10724
2019-11-26 13:57:16 +09:00
junsu choi f1275e86f4 Efl.Canvas.Image: Add skeleton code Efl.Gfx.Frame_Controller.sector
Summary:
Sector is a property with start, end frame and sector name information
that can be used when playing a specific section.
Sector play is not supported for Efl.Canvas.Image yet.
So we add skeleton code with comments.
This is also for full implements of the Efl.Gfx.Frame_Controller interface.

Test Plan: N/A

Reviewers: Hermet, bu5hm4n

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10718
2019-11-26 11:01:28 +09:00
Marcel Hollerbach f7868fd28c efl_ui_multi_selectable: clean this up
this commit merges common functions from efl_ui_multi_selectable and
efl_ui_multi_selectable_async. Additionally, the two different aspects
of accessing the elements in a multi_selectable widget (numerical or
object based) are now abstracted into interfaces called range_numeric and
range_object. numeric APIs are also prefixed with id's, so its possible
for one widget to implement both (if there will ever be the demand to do
that in future).

The main reason for this split is:
- there is no good common path between mvvm based multi_selectable and
object based multi_Selectable, so there is no way that both sides would
benefit, without the other one suffering.
- If we find later on the demand to implement both on one widget, we now
can fully do that
- Common API is available for both types, so its less API and less
confusion for the API user.

ref T7871
ref T8265

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10675
2019-11-25 13:31:24 +01:00
junsu choi b798f9146c Efl.Canvas.Vg.Container : Initialize mask buffer for SUB, INS composition.
Summary:
   If composite method is substract or intersect, buffer needs initialize.

Test Plan: N/A

Reviewers: Hermet, kimcinoo, smohanty

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10732
2019-11-25 19:04:30 +09:00
Hermet Park 58e09586bf evas vector: initialize data member properly.
user entry root should be initialized to null before accessing it.

in a certain scenario it could occur a crash with an invalid root data.

@fix
2019-11-25 13:28:38 +09:00
Ali Alzyod aeee3497af evas_textblock: cursor function null check at start
Reviewers: segfaultxavi, woohyun, lauromoura

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10727
2019-11-22 15:34:27 -03:00
Lauro Moura 642b243df9 csharp: Fix helper function
Summary: Was failing if the suffix were equal to the source string

Reviewers: felipealmeida, segfaultxavi, YOhoho, brunobelo

Reviewed By: brunobelo

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10708
2019-11-22 12:01:59 -03:00
Lauro Moura b22594a10b text: Fix struct definition
Summary:
Efl_Text_Cursor_Handle was being declared twice, confusing the C#
generator. This commits updates it to be singly defined in the
text_types eot file.

Reviewers: segfaultxavi, ali.alzyod

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10726
2019-11-22 15:49:36 +01:00
WooHyun Jung d2ed28bd8a efl_ui_internal_text_interactive: fix undefined symbol issue
Summary: This fixes an issue from d7352f4db4.

Reviewers: segfaultxavi, bu5hm4n

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10725
2019-11-22 12:51:26 +01:00
Xavi Artigas 98ae0bb4cc Efl.Text.Cursor: Add missing documentation
This was breaking the C# bindings build.
2019-11-22 12:50:35 +01:00
Wonki Kim 8559b0472e efl_ui_table: modify comparing logic
Summary:
pad.h/v are integer varaibles, and also parameters h/v are too.
so that it is not needed to compare them like they are floating pointer.

Reviewers: bu5hm4n, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10722
2019-11-22 12:43:14 +01:00
Xavi Artigas 070c8f6ae9 docs: Remove repeated words
This had already been pointed out in the review.
2019-11-22 10:39:33 +01:00
Ali Alzyod d7352f4db4 Efl.Text.Cursor
Summary:
Implementation of new cursor text object.

This Patch Contains :
1- Remove Efl.Text.Cursor & Efl.Text_Markup_Interactive interfaces and replace them with one Class Efl.Text.Cursor
   => there are some modifications on cursor methods

2- Update all related classes to use Efl.Text.Cursor object instead of the old interfaces

3- If class uses Efl.Text_Cursor_Cursor (handle), mainly annotation it will stay as it is until we update other annotations into attribute_factory

4- Add main cursor property into efl.text.interactive

5- Add cursor_new method in efl.ui.text  (I think we may move it into efl.text.interactive interface)

There still some parts that need discussion: especially cursor movement functionality, I prefer to move function with Enum, instead of special function for each movement.

```
enum @beta Efl.Text.Cursor_Move_Type
{
   [[Text cursor movement types]]
   char_next,       [[Advances to the next character]]
   char_prev,       [[Advances to the previous character]]
   cluster_next,    [[Advances to the next grapheme cluster]]
   cluster_prev,    [[Advances to the previous grapheme cluster]]
   paragraph_start, [[Advances to the first character in this paragraph]]
   paragraph_end,   [[Advances to the last character in this paragraph]]
   word_start,      [[Advance to current word start]]
   word_end,        [[Advance to current word end]]
   line_start,      [[Advance to current line first character]]
   line_end,        [[Advance to current line last character]]
   paragraph_first, [[Advance to current paragraph first character]]
   paragraph_last,  [[Advance to current paragraph last character]]
   paragraph_next,  [[Advances to the start of the next text node]]
   paragraph_prev   [[Advances to the end of the previous text node]]
}
move {
         [[Move the cursor]]
         params {
            @in type: Efl.Text.Cursor_Move_Type; [[The type of movement]]
         }
         return: bool; [[True if actually moved]]
      }
```

or old way:
```
char_next {
         [[Advances to the next character]]
         // FIXME: Make the number of characters we moved by? Useful for all the other functions
         return: bool; [[True if actually moved]]
      }
      char_prev {
         [[Advances to the previous character]]
         return: bool; [[True if actually moved]]
      }

      char_delete {
         [[Deletes a single character from position pointed by given cursor.]]
      }

      cluster_next {
         [[Advances to the next grapheme cluster]]
         return: bool; [[True if actually moved]]
      }
      cluster_prev {
         [[Advances to the previous grapheme cluster]]
         return: bool; [[True if actually moved]]
      }

      // FIXME: paragraph_end is inconsistent with word_end. The one goes to the last character and the other after the last character.
      paragraph_start {
         [[Advances to the first character in this paragraph]]
         return: bool; [[True if actually moved]]
      }
      paragraph_end {
         [[Advances to the last character in this paragraph]]
         return: bool; [[True if actually moved]]
      }
      word_start {
         [[Advance to current word start]]
         return: bool; [[True if actually moved]]
      }
      word_end {
         [[Advance to current word end]]
         return: bool; [[True if actually moved]]
      }
      line_start {
         [[Advance to current line first character]]
         return: bool; [[True if actually moved]]
      }
      line_end {
          [[Advance to current line last character]]
         return: bool; [[True if actually moved]]
      }
      paragraph_first {
         [[Advance to current paragraph first character]]
         return: bool; [[True if actually moved]]
      }
      paragraph_last {
         [[Advance to current paragraph last character]]
         return: bool; [[True if actually moved]]
      }
      paragraph_next {
         [[Advances to the start of the next text node]]
         return: bool; [[True if actually moved]]
      }
      paragraph_prev {
         [[Advances to the end of the previous text node]]
         return: bool; [[True if actually moved]]
      }
```

Reviewers: woohyun, tasn, segfaultxavi

Reviewed By: woohyun

Subscribers: a.srour, bu5hm4n, segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10542
2019-11-22 17:35:54 +09:00
Marcel Hollerbach 17ba8515f1 efl_canvas_object_animation: fix possible invalid pointer
now if one of the event handlers calls animation_stop in a callback to
EFL_CANVAS_OBJECT_ANIMATION_EVENT_ANIMATION_PROGRESS_UPDATED, then
pd->in will be freeed. Which means, in the next event handler the
address taken by &pd->in->progress might be invalid, leading to a crash.

With this commit this is a address on the stack, which should fix this.
2019-11-21 18:41:08 +01:00
Marcel Hollerbach eeff991076 efl_canvas_object_animation: make this all more safe
Summary:
when a callback is called, the in pointer might be free'ed, we should be
more carefull with that.

fix CID1407682

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10713
2019-11-21 13:06:41 +01:00
junsu choi 044bc28e3a elm/hoversel: Recalculate items before box calculate.
Summary:
After the item is packed into the box,
the min of the item can be initialized with content_set working.
content_set calls parent_set and checks the theme when calling parent_set.
At that time, if theme is changed in the parent of layout using hoversel,
call theme_apply(efl_ui_layout) to make min value 0, 0.
This patch can avoid it.

Test Plan: N/A

Reviewers: YOhoho, Hermet, woohyun, zmike, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10712
2019-11-21 19:49:01 +09:00
Wonki Kim 4a4525cb4b eina_matrix: replace cosf by cos to gain more accuracy
Summary:
cos function is much much more accurate than cosf.
this patch replaces cosf by cos to gain more accuracy.

Reviewers: cedric, jsuya, vtorri

Subscribers: vtorri, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10695
2019-11-21 17:50:33 +09:00
Hermet Park cf79e1f7e6 Revert "evas animation: removed unnecessray checking."
This reverts commit 959c503a71.
2019-11-21 17:45:36 +09:00
Hermet Park 959c503a71 evas animation: removed unnecessray checking.
pd->in is already verified earlier.
2019-11-21 17:26:21 +09:00
Jaehyun Cho a46bddc490 efl_canvas_object_animation: check if animation stops during animation
It is checked if animation stopped in the animation_progress,updated
callback by user.
2019-11-21 15:30:21 +09:00
Stefan Schmidt ee05d0d1ff ecore_input_evas: fix ouble use of include guard define
We used the ecore_input define here in ecore_evas_input. Use a unique
name for this file.

Reported-By: https://lgtm.com/projects/g/Enlightenment/efl/
Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10698
2019-11-20 10:30:17 +01:00
Marcel Hollerbach 14b6f23cb3 eo: there is no need to count callbacks here
we are going to add this description anyways, no need to count here
again. I think this is not really making anything really faster, its
more keeping things consistance.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10689
2019-11-20 10:15:21 +01:00
Marcel Hollerbach aef56b169e remove efl_canvas_animation_player
this now all migrated to Efl.Canvas.Object.Animation

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10667
2019-11-20 10:03:50 +01:00
Marcel Hollerbach d4c004ab5d efl_ui_spotlight_manager stack: move away from player object
with this commit we move from using the player object to using the mixin
that was introduced a few commits before. The new mixin is way easier to
use here, we safe a lot of code, we also only need 1 object instead of
4. (And overall, everything just gets sooooo much more easier).

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10637
2019-11-20 09:58:30 +01:00
Marcel Hollerbach fa93893548 introduce efl_canvas_object_animation
this brings the animation to the canvas object. All the controls of the
animation now do now require a player object anymore, you can just use
the API that is directly on the Efl.Canvas.Object object.

wip animation player replacement

Differential Revision: https://phab.enlightenment.org/D10615
2019-11-20 09:58:24 +01:00
Xavi Artigas 9bb2df9966 Unify "animated" flags
There exist several flags to indicate whether an object should be animated, with inconsistent names:
Efl.Canvas.Layout.animation: bool indicating if Edje animations should be played
Efl.Ui.Spotlight_Manager.animation_enabled: bool indicating if page transitions should be animated
Efl.Canvas.Animation_Player.animation: Efl.Canvas.Animation object

This commit unifies all of them: "animated" is now a flag, and "animation" is an object.

Note: Animation_Player is in the process of being replaced by an "animation" property in the
Efl.Canvas.Object, hence the need for non-clashing animation flags.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10645
2019-11-20 09:58:23 +01:00
Hermet Park db68e45fed vector container: don't copy composite target duplicatedly.
Container copied composite target in prior to duplicate children,

the composite target is one of the children, it should skip to handle it again.
2019-11-20 14:11:08 +09:00
Christopher Michael e36b1930bf ecore-wl2: Add API to find a window by given surface
This patch adds a convenience function to find a window by a given
wl_surface.

@feature
2019-11-19 09:44:45 -05:00
Christopher Michael 68ea9f1a71 ecore-wl2: Add API to return window type
Small patch whichs adds a new API to return the type of a given window

@feature
2019-11-19 09:44:45 -05:00
Christopher Michael ab51bbeeef ecore-wl2: Add API to return the compositor object from a given display
This patch adds a convenience function to get the wl_compositor object
from a given display

@feature
2019-11-19 09:44:45 -05:00
Christopher Michael 7fb23c2da1 ecore-wl2: Add API to find a connected display given a name
This patch adds a convenience function to find a connected display
given a name

@feature
2019-11-19 09:44:45 -05:00
Christopher Michael a10a9ceccb ecore-wl2: Add API to find a window by surface
This patch adds a convenience API that can be used to find a window
based on wl_surface.

@feature
2019-11-19 09:44:40 -05:00
Bowon Ryu eb13df21d0 slider: fix behavior of slider when mirrored
Summary:
The vertical slider(!horizontal) should not be inverted when mirrored.
This patch fixes and cleans up this.

Test Plan:
elementary_test -to slider
elementary_test -to efl.ui.slider

UI-Mirroring on/off and observe vertical slides.

Reviewers: woohyun, cedric, bu5hm4n

Reviewed By: woohyun

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10693
2019-11-19 14:04:05 +09:00
Hermet Park fd6e5081f9 evas vector: removed useless calls.
It turns out ector engine doesn't use any color mixing with gradients fill.
Removed unnecessarities unless we can find a way to use them in the future.
2019-11-19 13:26:50 +09:00
Bowon Ryu c30176e7ff slider: fix value error from step
Summary:
When the slider moves using step,
_drag_value_fetch(), _val_fetch() calculates a value from position of edje_part.
Then the calculated value is updated.
However, this causes a slight error.

This patch updates value ​​first when moving with steps.

* Test Example

```
Evas_Object *sl = elm_slider_add(bx);
elm_slider_min_max_set(sl, -5, 5);
elm_slider_value_set(sl, 0.0);
elm_slider_step_set(sl, 0.1);
evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_smart_callback_add(sl, "changed", _change_cb, NULL);
```
```
void
_change_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
{
   double val = elm_slider_value_get(obj);

   if (val == -5.0) printf("val[%f] == -5.0 \n", val);
   if (val == -4.0) printf("val[%f] == -4.0 \n", val);
   if (val == -3.0) printf("val[%f] == -3.0 \n", val);
   if (val == -2.0) printf("val[%f] == -2.0 \n", val);
   if (val == -1.0) printf("val[%f] == -1.0 \n", val);
   if (val == 0.0) printf("val[%f] == 0.0 \n", val);
   if (val == 1.0) printf("val[%f] == 1.0 \n", val);
   if (val == 2.0) printf("val[%f] == 2.0 \n", val);
   if (val == 3.0) printf("val[%f] == 3.0 \n", val);
   if (val == 4.0) printf("val[%f] == 4.0 \n", val);
   if (val == 5.0) printf("val[%f] == 5.0 \n", val);
}
```

If you move the slider using step in this test,
You can see that some logs are not visible. (Some values ​​are incorrect)

Test Plan:
elementary_test -to slider
elementary_test -to efl.ui.slider

Reviewers: woohyun, cedric, bu5hm4n

Reviewed By: woohyun, bu5hm4n

Subscribers: bu5hm4n, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10662
2019-11-18 21:25:26 +09:00
Xavi Artigas 1c5849c5a8 doxygen: Prevent auto-linking of invalid links
Anything starting with http://, ftp:// or file:// is automatically
converted into a link by doxygen. However, we have a few instances
where we do not want this. Fortunately, doxygen allows using % to
forbid specific words from being linked.
2019-11-18 12:00:35 +01:00
Cedric BAIL 3f3b725945 eldbus: only free the data when the future is resolved or rejected.
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D10684
2019-11-18 11:46:11 +01:00
Hermet Park 54217cda84 evas image cache: drop cache properly,
the default reference is 1,
thus we should drop it unless if it's more than 1,
2019-11-18 13:08:40 +09:00
Hermet Park 618bce8038 evas vg: improve caching methods for better precise behaviors.
Previously, json file data won't be shared between instances.
Now, objects can share the json data if they use the same file resource.
2019-11-18 13:08:29 +09:00
Cedric BAIL 75301b3a1a eo: do not over compute the hash when propagating events.
This should slightly improve speed in theory. In practice, I have not seen
a benchmark which would budge by 5%, so I am not sure it improve speed that
much.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10660
2019-11-17 12:12:28 +01:00
Cedric BAIL 6d20f32cef eo: no need to oversize type.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10659
2019-11-17 12:12:26 +01:00
Cedric BAIL c355616043 eo: refactor shortcut for EFL_EVENT_DESTRUCT event.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10658
2019-11-17 12:12:23 +01:00
Carsten Haitzler 9876a78fd3 edje - box - calc min size correctly at start ...
this fixes a logic hole where no chosen desc has been applied yet to a
box and thus it has no start layout thus no way to calc a min size.
this breaks min size calcs you do when setting up and object. this
fixes that by forcing the chosen desk on a min size calc so there is
one.

@fix
2019-11-16 14:22:48 +00:00
Carsten Haitzler 42e691d9b4 ecore-x - add some xi2 api's for fiddling with device properties
add some infra to be able to get and set device properties (as well
as know if devices changed to we can refersh a gui or re-apply saved
settings etc.). it doesn't do everything but... it adds enough to
build on in e.
2019-11-16 13:02:10 +00:00
Carsten Haitzler 7096634a39 efreet - consider ctime changes as changes too
some distros do odd things with source desktop files and set their
mtime timestamps to 0... thus we can't tell that there is a change.
thier ctimes do change, so consider the newer of either of these as
the modification time to not miss updates

@fix
2019-11-16 13:02:10 +00:00
Carsten Haitzler f8cf378868 strings - be cleaere we are initialising buffers not appending
also should silence possible code checkers.
2019-11-16 13:02:10 +00:00
junsu choi 3493a37db8 Eina_Matrix : Use math header for cosf and sinf of rotate function.
The local cos and sin functions differ from
the math header cos and sin functions by result values
The 4th decimal place is different.
Computing large numbers can cause errors.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10467
2019-11-15 11:52:01 -08:00
Daniel Kolesa a1cb493d4f eolian: fix memory leak when using error objects 2019-11-15 13:36:57 +01:00
Boris Faure b26085819e efreet: fix typo
Summary: efreet: fix typo

Test Plan: None

Reviewers: cedric, raster, lauromoura, devilhorns, marcelhollerbach, segfaultxavi, zmike, vtorri

Reviewed By: segfaultxavi, vtorri

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10676
2019-11-15 12:57:08 +01:00
abdulleh Ghujeh 2b71b63022 Edje : textblock_styles strncmp improvement
Summary: Improve string comparison

Reviewers: cedric, ali.alzyod, woohyun, bu5hm4n

Reviewed By: woohyun

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10635
2019-11-15 10:14:03 +09:00
Lauro Moura 4832d9bfb8 edje: Remove warnings
Missing declaration from another file and removing unused variable.

After D10605

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10674
2019-11-14 10:52:04 -08:00
Woochanlee 37b55172b0 edje_calc: Exception handling if no calculation is required.
If there is no object swllowed, do not run part_calc on it.
This swallow will be calculated if there is an associated part, otherwise it will not need to be calculated.

When the app is launched, a lot of edje calculation logic is executed.
Most of the edje size is missing, so the calculation result is meaningless.
Added code to prevent this.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10605
2019-11-14 10:08:56 -08:00
Chris Michael 2288c92bc5 ecore-drm2: Fix issue of shifting 1 by more than 32bits
Based on 9ca573f40f, this patch fixes
potential undefined behaviour on 64 bit systems.

@fix
2019-11-14 12:21:40 -05:00
Daniel Kolesa 9ca573f40f eo: fix UB in the eo event code (edje_cc hangs etc.)
Today I started experiencing mysterious hanging of edje_cc
during build. "The French are at it again" I thought, and
after spending a while bisecting, I found the culprit.
It's 7f53d91583.

So, what is happening in here?

The idea here was fundamentally sound; compute a special
hash value for event descriptors, taking range between 0
and 63 (on 64-bit systems) and 0 and 31 (on 32-bit systems),
then use a mask sized 32-bit or 64-bit (depending on your
system) and check early if to bail out from callback_call,
saving some resources. So far so good.

The problem is in the way the mask is handled. We're applying
the hash as the shift value like, `x |= (1 << hash)`. On 32-bit
systems this is okay, but on 64-bit systems, C's dumb silent
coercion rules kick in, since the left side of the expression
is 1, a literal with type signed int; that means our shifting
range is limited to 31 and what we get is... undefined behavior.

This is obviously not what we want, so take a 1ULL value as a
base. The previous thing seemingly worked on x86_64 (nobody
reported any issues) and interestingly it worked for me too
for a while (on ppc64le), but undefined behavior can be
unpredictable, so...

This shouldn't need a commit message as long as this, but I'm
making it proportional to the amount of time I wasted on this.
2019-11-14 04:18:46 +01:00
junsu choi 288218527d efl_canvas_vg_node: Prevent access to NULL object for remove warning
Summary:
For remove this warning
WRN<3378>:eo ../src/lib/eo/eo.c:644 _efl_object_call_resolve() NULL passed to function efl_invalidated_get().

Test Plan: elementary_test -> animation_view

Reviewers: Hermet, kimcinoo, smohanty

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10627
2019-11-14 11:25:53 +09:00
Cedric BAIL d505167d68 ecore: correctly apply the offset on the upper part of the boolean mask for Efl.BooleanModel.
The upper mask is the one that should actually move as the gap is between the lower and
the upper mask when removing an element from the array.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10632
2019-11-13 21:16:16 +01:00
Cedric BAIL 652533e27d ecore: remove the composited children from the source of an Efl.CompositeModel.
The composite model was erroneously giving the reference to a children composited model
instead of the origianl children which made it impossible for the composited model
to delete the right child.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10631
2019-11-13 21:16:14 +01:00
Cedric BAIL 6cec0df499 elementary: fix initialization order and memory leak when setting model on Efl.Ui.CollectionView.
This patch use volatile model to make sure that a model is properly cleaned once it is not
used anymore.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10625
2019-11-13 21:16:11 +01:00
Cedric BAIL f71a109e70 elementary: fix recursive case during model fetch in Efl.Ui.CollectionView.
Figuring out why model fetch was sometime not working recursively allow to
reduce the amount of request that need to be made. In this case, notifying
the position manager or lack of notification was triggering a case where the
item would not show up (Joice of nested asynchronous behavior).

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10624
2019-11-13 21:16:07 +01:00
Cedric BAIL 560db39577 ecore: properly handle children destruction in Efl.BooleanModel.
The children removal event is happening on the parent model, so access
values directly.

T8358

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10623
2019-11-13 21:16:04 +01:00
Yeongjong Lee 246485ca92 efl_ui_relative_container: rename relative_layout
Summary:
Also,
Rename parameter name `target` to `base`.
Rename parameter name `relative` to `relative_position`.

ref T8380

Depends On D10639

Test Plan: ninja test

Reviewers: woohyun, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8380

Differential Revision: https://phab.enlightenment.org/D10640
2019-11-12 14:33:13 +01:00
Xavi Artigas 3fc7102561 Efl.Ui.Scroll_Manager: Fix indentation 2019-11-12 13:00:23 +01:00
junsu choi 04e3d8cc3d evas_device: Fix typo in evas_device_pop
Summary: Fix wrong null check

Test Plan: N/A

Reviewers: cedric, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10648
2019-11-12 16:23:33 +09:00
junsu choi 7d97abc05b Efl.Ui.Animation_View: Implement sector playing feature
Summary:
play_sector method is API for playing section.
If the animation object has section information, user can play the section.
Get the start and end section name and get the frame of each section.
And set and play the min and max frames of the current animation object.

Depends on D10506

Test Plan:
For example. Animation objects have "first","second" and "third" sectors.
And sector "second" has duration information.

User can use it like this:
efl_ui_animation_view_play_sector(anim_view, "first", "second");
efl_ui_animation_view_play_sector(anim_view, "second", NULL);
efl_ui_animation_view_play_sector(anim_view, "first", NULL); // first sector ~ end frame of animation object.
efl_ui_animation_view_play_sector(anim_view, "second", "third");
efl_ui_animation_view_play_sector(anim_view, "second", "wrong name");

Reviewers: Hermet, smohanty, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10507
2019-11-12 14:30:25 +09:00
junsu choi bcfffc07cf Efl.Gfx.Frame_Controller: Add sector property
Summary:
These APIs to get and set frames for a specific section for playing section.

Depends on D10505

Test Plan: N/A

Reviewers: Hermet, smohanty, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10506
2019-11-12 14:30:10 +09:00
junsu choi 93551ca58e evas_cache_vg : Implements sector_get/set internal APIs
Summary:
These APIs to get and set frames for a specific section in vg animation.
get API looks for a sector by name in the markerlist of VG_File_Data.
Then return start and end frames.

Depends on D10504

Test Plan: N/A

Reviewers: Hermet, smohanty, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10505
2019-11-12 14:29:50 +09:00
junsu choi ddaa5d1e6e vg_loader: Get markers information form json data.
Summary: If json data has marker information, it is stored in vg file data.

Test Plan: N/A

Reviewers: Hermet, smohanty, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10504
2019-11-12 14:28:44 +09:00
Marcel Hollerbach 4c8a764b49 elm: apply the same fix we needed in entry to other scrollable widgets
this here is the same effect as in my previous commit:
When re retheme a object, we need to reset the signals, otherwise there
would be wrongly displayed scrollbars.

This fixes wrong scrollbars in enlightenment.

Differential Revision: https://phab.enlightenment.org/D10628
2019-11-11 13:44:57 +01:00
Marcel Hollerbach 6b1de6a4ac efl_canvas_animation: correctly handle double signness
Summary:
start_delay and duration both have to be > 0.0 otherwise there should be
an error. This also adds the neccessary checks, to ensure that.

For now this is only added to the normal evas test suite, maybe we eed
to refactor these efl_* API tests into theire own test suite. However,
not for now.

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10617
2019-11-11 10:20:48 +01:00
Lauro Moura 77207f9b58 csharp: Fix running headless tests in dotnet
Summary:
CoreCLR, the runtime of dotnet, has some issues regarding storing
environment variables (see dotnet/coreclr issue #15812), keeping them in
a local cache instead of flushing to the native `setenv`.

This commit replaces the usage of
`System.Environment.SetEnvironmentVariable` with a `setenv` wrapper.

Test Plan: Run without DISPLAY set and with dotnet.

Reviewers: felipealmeida, brunobelo, segfaultxavi, YOhoho

Reviewed By: brunobelo

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10619
2019-11-07 22:46:15 -03:00
Marcel Hollerbach 01bf9a34d6 elm_entry: fix wrong displayed scrollbars
the scrolbars have been displayed wrongly before. Reason for this is
that the theme displays the bars per default, the code however works
with hidden by default. This was worked arround before with the fact
that we are explicitly hiding the vbar/hbar before.
The reason this previous code was not working proberly is that entry
decided to retheme a object that was already set to the interface
scrollable object. Which means, it was not detected by the code. With
the newly introduced reset function you can tell the interface, that you
have changed the group, signals will be emitted accordingly.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10622
2019-11-07 22:24:11 +01:00
Cedric BAIL 1f66d9ed9b elementary: watch event on the model Efl.Ui.CollectionView use directly.
Efl.Model can be nested and Efl.Ui.CollectionView use this ability. Listening
on the nested model instead of the nester model can lead to event being triggered
that shouldn't. Better listen on the top model.

Differential Revision: https://phab.enlightenment.org/D10621
2019-11-07 22:24:08 +01:00
Cedric BAIL 620dd43db2 eo: make sure to return the right value for efl_event_callback_call.
EINA_FALSE is to be returned only if one of the callback did call
efl_event_callback_stop not if their was no callback called.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10620
2019-11-07 22:24:07 +01:00
Cedric BAIL 65955b7a9f elementary: properly handle in flight request in Efl.Ui.CollectionView.
This fix adding item not always showing up in the CollectionView right away.
The main issue comes down to the fact we can not chain a new request when one
is already resolved partially. The code now make sure to properly do this.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10614
2019-11-07 22:24:03 +01:00
Cedric BAIL b77482e7d6 elementary: cleanup Eina_Future properly by relying on efl_future_then proper lifecycle.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10613
2019-11-07 22:24:00 +01:00
Carsten Haitzler 39240fa3e7 Revert "evas_textblock: content fit feature"
This reverts commit 2f676a6591.

This causes segv's in edje_cc - i suspect the eet changes (or in combo
to how they are used in edje):

AddressSanitizer:DEADLYSIGNAL
=================================================================
==8991==ERROR: AddressSanitizer: SEGV on unknown address 0x000001010000 (pc 0xffff9f002604 bp 0xfffffa747700 sp 0xfffffa747700 T0)
==8991==The signal is caused by a READ memory access.
    #0 0xffff9f002600 in _eet_hash_gen ../src/lib/eet/eet_utils.c:25
    #1 0xffff9efdd024 in eet_dictionary_string_add ../src/lib/eet/eet_dictionary.c:103
    #2 0xffff9efbe324 in eet_data_put_string ../src/lib/eet/eet_data.c:849
    #3 0xffff9efc1c4c in eet_data_put_type ../src/lib/eet/eet_data.c:1427
    #4 0xffff9efd9128 in eet_data_put_unknown ../src/lib/eet/eet_data.c:4730
    #5 0xffff9efdb320 in _eet_data_descriptor_encode ../src/lib/eet/eet_data.c:5108
    #6 0xffff9efd5958 in eet_data_put_variant ../src/lib/eet/eet_data.c:4309
    #7 0xffff9efdb320 in _eet_data_descriptor_encode ../src/lib/eet/eet_data.c:5108
    #8 0xffff9efd9270 in eet_data_put_unknown ../src/lib/eet/eet_data.c:4739
    #9 0xffff9efdb320 in _eet_data_descriptor_encode ../src/lib/eet/eet_data.c:5108
    #10 0xffff9efd8ca0 in eet_data_put_array ../src/lib/eet/eet_data.c:4692
    #11 0xffff9efdb320 in _eet_data_descriptor_encode ../src/lib/eet/eet_data.c:5108
    #12 0xffff9efc7768 in eet_data_write_cipher ../src/lib/eet/eet_data.c:2403
    #13 0xffff9efc78a4 in eet_data_write ../src/lib/eet/eet_data.c:2420
    #14 0xaaaabb151dcc in data_thread_group ../src/bin/edje/edje_cc_out.c:2045
    #15 0xaaaabb152130 in data_write_groups ../src/bin/edje/edje_cc_out.c:2086
    #16 0xaaaabb157734 in data_write ../src/bin/edje/edje_cc_out.c:2866
    #17 0xaaaabb14122c in main ../src/bin/edje/edje_cc.c:456
    #18 0xffff9dbd92a0 in __libc_start_main (/usr/lib/aarch64-linux-gnu/libc.so.6+0x242a0)
    #19 0xaaaabb13ea00  (/home/raster/C/git/efl/build/src/bin/edje/edje_cc+0x38a00)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV ../src/lib/eet/eet_utils.c:25 in _eet_hash_gen
==8991==ABORTING
Aborted (core dumped)

When compiling breaks... it's certainly time to revert ASAP :(
2019-11-07 10:23:58 +00:00
Taehyub Kim e4e7ff3905 efl_ui_alert_popup: add title part in parts block
Summary: add title part in parts block

Reviewers: Jaehyun_Cho, woohyun, zmike, segfaultxavi

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10596
2019-11-07 13:38:47 +09:00
Lauro Moura cd467051af efl: Make stable single-valued getters consistent.
Summary:
Instead of a getter with an explicit return type, change it to be a
single-valued property.

The eolian C generator takes care of making this single value the actual
return value of the C function.

This also makes these properties able to be reflected on.

The stack properties returns just a pointer and not a new ref, so no
@move needed.

Beta properties will be handled in a future commit.

Depends on D10601

Reviewers: segfaultxavi, bu5hm4n, q66, cedric

Reviewed By: segfaultxavi

Subscribers: #reviewers, #committers, brunobelo, felipealmeida

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10602
2019-11-06 23:47:39 -03:00
Wonki Kim da5c0c63f2 elm_config: replace ecore_file_cp with ecore_file_mv
ecore_file_cp can cause config data(eet file) invalid,
once multiple processes are trying to call elm_config_save.

this patch replaces it with ecore_file_mv to prevent the problem.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10578
2019-11-06 03:01:57 -08:00
Woochanlee 249ffd6a50 edje_calc: UNLIKELY changed to LIKELY.
It should takes true almost all times when it checks.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10606
2019-11-06 03:01:56 -08:00
Cedric BAIL f7c6bec38f elementary: fix end of fast scroll not showing up during Efl.Ui.CollectionView scroll.
efl_ui_position_manager_entity_entities_ready is expecting the end offset and not the
length of how many items have been updated. Sending the correct number fixes the problem.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D10590
2019-11-06 02:14:55 -08:00
Xavi Artigas 9ca84821fc Efl.Interpolator*: More sensible API names and docs
Summary:
OK, so, ALL interpolator parameters were called "factor" and the docs
literally said "First factor, Second factor, ..."
After diving into the actual implementation, proper names (and types) for the
parameters were found and proper docs written.

I am afraid I could not make any sense of the Divisor interpolator code. Those
docs still need writing.

Test Plan: Everything still builds and passes tests. No functional changes.

Reviewers: zmike, cedric, bu5hm4n, Jaehyun_Cho

Reviewed By: bu5hm4n

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10603
2019-11-06 15:50:11 +01:00
Xavi Artigas 8a5976666b docs: Add caveat details to Efl.Canvas.Animation
Summary:
Regarding object properties not matching actual rendered values when animations
are running.

Depends on D10560

Reviewers: bu5hm4n, cedric, zmike, Jaehyun_Cho

Reviewed By: bu5hm4n

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10566
2019-11-06 15:16:43 +01:00
Wonki Kim dc52516397 check: reset flags that used for legacy 'changed' cb
Summary:
in case of setting a state of check by calling a API,
the flags that used for changed cb aren't changed.
which causes that the callback not invoked when it should be.

this patch resets the flags to make it work properly.

Reviewers: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10591
2019-11-06 14:03:29 +01:00
Lauro Moura d4d9ecc92f eolian: Imply @no_unused if @move in return.
Summary:
This makes sure the user is warned if it ignores a return value that
could potentially be a memory leak.

This also makes possible to use `value {}` blocks with `@move` instead
of value-less properties with `@no_unused`.

Also removed the `@move` from canvas_text_async_layout as it is ignored
in the only place it is used.

Reviewers: q66

Reviewed By: q66

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

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10601
2019-11-05 16:54:17 -03:00
Xavi Artigas 714478cbf3 docs: Efl.Gfx.View 2019-11-05 17:31:13 +01:00
Christopher Michael 316136d032 ecore-wl2: Remove dead comment
Now that the (mostly unused) functions have been moved to be internal,
we don't need a comment in here about documenting them
2019-11-05 09:36:20 -05:00
Christopher Michael 40f10e204a ecore-wl2: Move ecore_wl2_surface_alpha_get function to be internal
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.

ref T8013
2019-11-05 09:36:16 -05:00
Christopher Michael ca3d6f0e7f ecore-wl2: Move ecore_wl2_surface_window_get function to be internal
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.

ref T8013
2019-11-05 09:36:13 -05:00
Christopher Michael 2069181bae ecore-wl2: Move ecore_wl2_surface_manager_del function to be internal
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.

ref T8013
2019-11-05 09:36:09 -05:00
Christopher Michael 8d6b409699 ecore-wl2: Move ecore_wl2_surface_manager_add function to be internal
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.

ref T8013
2019-11-05 09:36:05 -05:00
Christopher Michael 132851bc4e ecore-wl2: Move ecore_wl2_surface_buffer_create function to be internal
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.

ref T8013
2019-11-05 09:36:02 -05:00
Christopher Michael 307837d199 ecore-wl2: Move ecore_wl2_window_surface_flush function to be internal
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.

ref T8013
2019-11-05 09:35:58 -05:00
Christopher Michael 58e06a4740 ecore-wl2: Move ecore_wl2_surface_flush function to be internal
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.

ref T8013
2019-11-05 09:35:55 -05:00
Christopher Michael c333022f0b ecore-wl2: Move ecore_wl2_surface_post function to be internal
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.

ref T8013
2019-11-05 09:35:51 -05:00
Christopher Michael 49498f798b ecore-wl2: Move ecore_wl2_surface_assign function to be internal
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.

ref T8013
2019-11-05 09:35:48 -05:00
Christopher Michael e451a91270 ecore-wl2: Move ecore_wl2_surface_data_get function to be internal
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.

ref T8013
2019-11-05 09:35:44 -05:00
Christopher Michael 25691ce647 ecore-wl2: Move ecore_wl2_surface_reconfigure function to be internal
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.

ref T8013
2019-11-05 09:35:40 -05:00
Christopher Michael 752b541e6c ecore-wl2: Move ecore_wl2_surface_destroy function to be internal
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.

ref T8013
2019-11-05 09:35:37 -05:00
Christopher Michael 262598773a ecore-wl2: Move ecore_wl2_surface_create function to be internal
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.

ref T8013
2019-11-05 09:35:33 -05:00
Christopher Michael a40dabd9e0 ecore-wl2: Move ecore_wl2_buffer_age_inc function to be internal
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.

ref T8013
2019-11-05 09:35:29 -05:00
Christopher Michael 97dca40f6a ecore-wl2: Move ecore_wl2_buffer_age_set function to be internal
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.

ref T8013
2019-11-05 09:35:26 -05:00
Christopher Michael 2dc751eb09 ecore-wl2: Move ecore_wl2_buffer_age_get function to be internal
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.

ref T8013
2019-11-05 09:35:22 -05:00
Christopher Michael ecd7a2c3c6 ecore-wl2: Move ecore_wl2_buffer_busy_get function to be internal
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.

ref T8013
2019-11-05 09:35:19 -05:00
Christopher Michael 431a5578da ecore-wl2: Move ecore_wl2_buffer_busy_get function to be internal
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.

ref T8013
2019-11-05 09:35:15 -05:00
Christopher Michael e1208ca31f ecore-wl2: Move ecore_wl2_buffer_destroy function to be internal
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.

ref T8013
2019-11-05 09:35:11 -05:00
Christopher Michael f22e8b4270 ecore-wl2: Move ecore_wl2_buffer_unlock function to be internal
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.

ref T8013
2019-11-05 09:35:07 -05:00
Christopher Michael 400ed3f3c4 ecore-wl2: Move ecore_wl2_buffer_lock function to be internal
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.

ref T8013
2019-11-05 09:35:03 -05:00
Christopher Michael ad692d2cbd ecore-wl2: Move ecore_wl2_buffer_discard function to be internal
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.

ref T8013
2019-11-05 09:34:59 -05:00
Christopher Michael 694df8f823 ecore-wl2: Move ecore_wl2_buffer_unmap function to be internal
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.

ref T8013
2019-11-05 09:34:52 -05:00
Christopher Michael 480390d862 ecore-wl2: Move ecore_wl2_buffer_map function to be internal
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.

ref T8013
2019-11-05 09:34:48 -05:00
Christopher Michael 5f3a67945e ecore-wl2: Move ecore_wl2_buffer_wl_buffer_get function to be internal
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.

ref T8013
2019-11-05 09:34:44 -05:00
Christopher Michael df15c774b8 ecore-wl2: Move ecore_wl2_buffer_destroy function to be internal
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.

ref T8013
2019-11-05 09:34:36 -05:00
Christopher Michael ffab0f77a4 ecore-wl2: Move ecore_wl2_buffer_create function to be internal
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.

ref T8013
2019-11-05 09:34:31 -05:00
Christopher Michael 848743f70d ecore-wl2: Move ecore_wl2_buffer_init function to be internal
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.

ref T8013
2019-11-05 09:34:27 -05:00
Christopher Michael 8ffd0b7661 ecore-wl2: Move ecore_wl2_window_damage function to be internal
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.

ref T8013
2019-11-05 09:34:12 -05:00
Christopher Michael bb85c55c50 ecore-wl2: Move variables to be above functions
NB: No functional changes
2019-11-05 08:53:29 -05:00
Ali Alzyod 2f676a6591 evas_textblock: content fit feature
Summary:
**Content Fit Feature for Evas_Object_Textblock**

This Feature is available at **Evas **object level.  And **Edje **level (where it is internally use evas functionality)
This feature will allow text block to fit its content font size to proper size to fit its area.

**Main Properties:**
Fit Modes        :   None=Default, Width, Height, All [Width+Height]
Fit Size Range :   Contains maximum and minimum font size to be used (and in between).
Fit Step Size    :   Step(Jump) value when trying fonts sizes between Size_Range max and min.
Fit Size Array   :   Other way to resize font, where you explicitly select font sizes to be uses    (for example [20, 50, 100] it will try 3 sizes only)

Text Fit feature was available in Edje but:
1- It doesn't effected by ellipsis or warping in font style (or do not handle the in right way)
2- Accuracy is not good (specially if you have fix pixel size elements (spaces,tabs,items))
3- No (Step size, Size Array) available.

Test Plan:
To check the Feature
> elementary_test
> fit
> textbock fit
You can modify all the modes and properties

These are two examples, One using Evas other uses Edje

**Evas**

```
#include <Elementary.h>

enum BUTTON{
   BUTTON_MODE             = 0,
   BUTTON_MAX              = 1,
   BUTTON_MIN              = 2,
   BUTTON_STEP             = 3,
   BUTTON_ARRAY            = 4,
   BUTTON_CONTENT          = 5,
   BUTTON_STYLE            = 6,
   BUTTON_ALL              = BUTTON_STYLE+1,
};

char* BUTTON_STR[BUTTON_ALL] ={
   "MODE",
   "MAX",
   "MIN",
   "STEP",
   "ARRAY",
   "CONTENT",
   "STYLE",
};

char *contents[] = {
   "Hello World",
   "This is Line<br>THis is other Line",
   "This text contains <font_size=20 color=#F00>SPECIFIC SIZE</font_size> that does not effected by fit mode"
   };

char *styles[] = {
   "DEFAULT='font=sans font_size=30 color=#000 wrap=mixed ellipsis=1.0'",
   "DEFAULT='font=sans font_size=30 color=#000 wrap=mixed'",
   "DEFAULT='font=sans font_size=30 color=#000 ellipsis=1.0'",
   "DEFAULT='font=sans font_size=30 color=#000'",
   };

char *styles_names[] = {
   "wrap=<color=#F00>mixed</color> ellipsis=<color=#F00>1.0</color>",
   "wrap=<color=#F00>mixed</color> ellipsis=<color=#F00>NONE</color>",
   "wrap=<color=#F00>NONE</color> ellipsis=<color=#F00>1.0</color>",
   "wrap=<color=#F00>NONE</color> ellipsis=<color=#F00>NONE</color>",
   };

typedef struct _APP
{
   Evas_Object *win, *box, *txtblock,*bg, *boxHor, *boxHor2;
   Eo *btn[BUTTON_ALL];
   Eo *lbl_status;
   char * str;
   unsigned int i_contnet, i_style;
} APP;
APP *app;

char * get_fit_status(Eo * textblock);

static void _btn_clicked(void *data EINA_UNUSED, Eo *obj, void *eventInfo EINA_UNUSED){
   if (obj == app->btn[BUTTON_MODE])
     {
        unsigned int options;
        evas_textblock_fit_options_get(app->txtblock, &options);
        if (options == TEXTBLOCK_FIT_MODE_NONE)
           evas_textblock_fit_options_set(app->txtblock, TEXTBLOCK_FIT_MODE_HEIGHT);
        else if (options == TEXTBLOCK_FIT_MODE_HEIGHT)
           evas_textblock_fit_options_set(app->txtblock, TEXTBLOCK_FIT_MODE_WIDTH);
        else if (options == TEXTBLOCK_FIT_MODE_WIDTH)
           evas_textblock_fit_options_set(app->txtblock, TEXTBLOCK_FIT_MODE_ALL);
        else if (options == TEXTBLOCK_FIT_MODE_ALL)
           evas_textblock_fit_options_set(app->txtblock, TEXTBLOCK_FIT_MODE_NONE);
     }
   else if (obj == app->btn[BUTTON_MAX])
     {
        unsigned int min, max;
        evas_textblock_fit_size_range_get(app->txtblock, &min, &max);
        max -= 5;
        evas_textblock_fit_size_range_set(app->txtblock, min, max);
     }
   else if (obj == app->btn[BUTTON_MIN])
     {
        unsigned int min, max;
        evas_textblock_fit_size_range_get(app->txtblock, &min, &max);
        min += 5;
        evas_textblock_fit_size_range_set(app->txtblock, min, max);
     }
   else if (obj == app->btn[BUTTON_STEP])
     {
        unsigned int step;
        evas_textblock_fit_step_size_get(app->txtblock, &step);
        step++;
        evas_textblock_fit_step_size_set(app->txtblock, step);
     }
   else if (obj == app->btn[BUTTON_ARRAY])
     {
        unsigned int font_size[] = {10, 50, 100 ,150};
        evas_textblock_fit_size_array_set(app->txtblock,font_size,4);
     }
   else if (obj == app->btn[BUTTON_CONTENT])
     {
        app->i_contnet++;
        if(app->i_contnet>=sizeof(contents)/sizeof(char*))
           app->i_contnet=0;
        evas_object_textblock_text_markup_set(app->txtblock,contents[app->i_contnet]);
     }
   else if (obj == app->btn[BUTTON_STYLE])
     {
        app->i_style++;
        if(app->i_style>=sizeof(styles)/sizeof(char*))
           app->i_style=0;

        Evas_Textblock_Style *style = evas_object_textblock_style_get(app->txtblock);
        evas_textblock_style_set(style,styles[app->i_style]);
     }

   elm_object_text_set(app->lbl_status, get_fit_status(app->txtblock));
}

char * get_fit_status(Eo * textblock)
{
   static char status[0xFFF];
   unsigned int options,min,max,step,size_array[256];
   size_t size_array_len;
   evas_textblock_fit_options_get(textblock,&options);
   evas_textblock_fit_size_range_get(textblock,&min,&max);
   evas_textblock_fit_step_size_get(textblock,&step);
   evas_textblock_fit_size_array_get(textblock,NULL,&size_array_len,0);
   if (size_array_len>255)
      size_array_len = 255;
   evas_textblock_fit_size_array_get(textblock,size_array,NULL,size_array_len);

   strcpy(status,"Mode : ");
   if (options == TEXTBLOCK_FIT_MODE_NONE)
      strcat(status,"MODE_NONE");
   else if (options == TEXTBLOCK_FIT_MODE_HEIGHT)
      strcat(status,"MODE_HEIGHT");
   else if (options == TEXTBLOCK_FIT_MODE_WIDTH)
      strcat(status,"MODE_WIDTH");
   else if (options == TEXTBLOCK_FIT_MODE_ALL)
      strcat(status,"MODE_ALL");

   strcat(status,"<br>");
   sprintf(status + strlen(status),"Max   : %d<br>",max);
   sprintf(status + strlen(status),"Min   : %d<br>",min);
   sprintf(status + strlen(status),"Step  : %d<br>",step);
   sprintf(status + strlen(status),"Array  : [ ");
   for (size_t i = 0 ; i < 10 ; i++)
     {
        if(i<size_array_len)
           sprintf(status + strlen(status)," %d,",size_array[i]);
     }

   if(10<size_array_len)
      sprintf(status + strlen(status)," ... ");
   sprintf(status + strlen(status)," ]");

   sprintf(status + strlen(status),"<br>");
   sprintf(status + strlen(status),"%s",styles_names[app->i_style]);

   return status;
}

int elm_main(int argc, char **argv)
{
  app = calloc(sizeof(APP), 1);

   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);

   app->win = elm_win_util_standard_add("Main", "App");
   elm_win_autodel_set(app->win, EINA_TRUE);

   app->box = elm_box_add(app->win);
   app->boxHor = elm_box_add(app->box);
   app->boxHor2 = elm_box_add(app->box);
   app->txtblock = evas_object_textblock_add(app->box);
   app->bg = elm_bg_add(app->box);
   elm_bg_color_set(app->bg,255,255,255);

   Evas_Textblock_Style *style = evas_textblock_style_new();
   evas_textblock_style_set(style,styles[0]);
   evas_object_textblock_style_set(app->txtblock,style);
   evas_object_textblock_text_markup_set(app->txtblock,contents[0]);

   elm_box_horizontal_set(app->boxHor, EINA_TRUE);
   elm_box_horizontal_set(app->boxHor2, EINA_TRUE);

   evas_object_size_hint_weight_set(app->box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   evas_object_size_hint_align_set(app->box, EVAS_HINT_FILL, EVAS_HINT_FILL);

   evas_object_size_hint_weight_set(app->box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   evas_object_size_hint_align_set(app->box, EVAS_HINT_FILL, EVAS_HINT_FILL);

   evas_object_show(app->txtblock);
   evas_object_show(app->bg);
   evas_object_show(app->box);
   evas_object_show(app->boxHor);
   evas_object_show(app->boxHor2);

   elm_box_pack_end(app->box, app->bg);
   elm_box_pack_end(app->box, app->boxHor);
   elm_box_pack_end(app->box, app->boxHor2);

   elm_object_content_set(app->bg,app->txtblock);

   elm_win_resize_object_add(app->win, app->box);
   evas_object_resize(app->win, 320, 480);

   for(int i = 0 ; i < BUTTON_ALL ; i++)
     {
        app->btn[i] = elm_button_add(app->boxHor);
        evas_object_smart_callback_add(app->btn[i], "clicked", _btn_clicked, NULL);
        elm_object_text_set(app->btn[i], BUTTON_STR[i]);
        elm_box_pack_end(app->boxHor, app->btn[i]);
        evas_object_show(app->btn[i]);
     }

   app->lbl_status = elm_label_add(app->boxHor2);
   elm_object_text_set(app->lbl_status, get_fit_status(app->txtblock));
   elm_box_pack_end(app->boxHor2, app->lbl_status);
   evas_object_show(app->lbl_status);

   evas_object_size_hint_weight_set(app->txtblock, EVAS_HINT_EXPAND,EVAS_HINT_EXPAND);
   evas_object_size_hint_align_set(app->txtblock, EVAS_HINT_FILL, EVAS_HINT_FILL);

   evas_object_size_hint_weight_set(app->bg, EVAS_HINT_EXPAND,EVAS_HINT_EXPAND);
   evas_object_size_hint_align_set(app->bg, EVAS_HINT_FILL, EVAS_HINT_FILL);

   evas_object_show(app->win);
   elm_run();
   return 0;
}

ELM_MAIN()
```

**Edje**

```
// compile: edje_cc source.edc
// run: edje_player source.edje
collections {
   styles
   {
      style
      {
         name: "text_style";
         base: "font=sans font_size=30 color=#FFF wrap=mixed ellipsis=1.0";
         tag: "br" "\n";
         tag: "ps" "ps";
         tag: "tab" "\t";
         tag: "b" "+ font_weight=Bold";
      }
   }
   group {
      name: "my_group"; // must be the same as in source.c
      parts {

         part
         {
            name: "background";
            type: RECT;
            scale: 1;
            description
            {
               color: 0 0 0 0;
               rel1.relative: 0.0 0.0;
               rel2.relative: 1.0 1.0;
            }
         }

         part
         {
            name: "text";
            type: TEXTBLOCK;
            scale: 1;
            entry_mode: NONE;
            effect: OUTLINE_SHADOW;
            description
            {
               state: "default" 0.0;
               rel1.to : "background";
               rel1.relative: 0.0 0.0;
               rel2.to : "background";
               rel2.relative: 1.0 1.0;
               text
               {
                  style: "text_style";
                  align: 0.0 0.0;
                  text: "Hello World This is Me";
                  fit: 1 1;
                  fit_step: 1;
                  size_range: 30 200;
                  //fit_size_array: 20 40 60 80 100 200;
               }
            }
         }
      }
   }
}
```

Found Task T5724 relative to this Feature

Reviewers: woohyun, bowonryu, cedric, raster

Subscribers: #committers, #reviewers, cedric

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9280
2019-11-05 20:40:59 +09:00
Xavi Artigas 6a647880c6 docs: Efl.Ui.Table_Static
The need for this class is still being discussed in
https://phab.enlightenment.org/T8206
but at least it is a bit more clear what its purpose is.
2019-11-05 11:31:29 +01:00
Shinwoo Kim 51169ac325 evas filter: Implement inverse color filter
Summary: This is the first version of inverse color filter both GL and SW.

Test Plan:
1. Create filter_example with following .
efl_gfx_filter_program_set(image, "inverse_color ()", "inverse color");

2. Run.
./filter_example (Use ELM_ACCEL=gl for GL engine)

Reviewers: Hermet, jsuya

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10335
2019-11-05 10:45:14 +09:00
Xavi Artigas 0e71e0e286 docs: Polish Efl.Canvas.Animation_Group and sons
Summary: These docs were almost empty.

Reviewers: bu5hm4n, zmike, cedric, Jaehyun_Cho

Reviewed By: cedric

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10564
2019-11-04 13:51:21 +01:00
Marcel Hollerbach 56d541fbdb efl_canvas_animation: improve generally
Summary:
to be taken over by doccop
Depends on D10559

Reviewers: Jaehyun_Cho, bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10560
2019-11-04 13:46:49 +01:00
Xavi Artigas dc5ffbb866 docs: Polish Efl.Canvas.Animation_*
Summary:
These docs were lacking a lot of detail.

Depends on D10562

Reviewers: bu5hm4n, cedric, zmike, Jaehyun_Cho

Reviewed By: cedric

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10565
2019-11-04 13:06:53 +01:00
Marcel Hollerbach a1a77f5590 efl_canvas_animation_translate: move from x&y to container types
Summary:
this now uses Eina.Position2D so its easier to pass arround other
positions.

ref T8288
Depends on D10559

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8288

Differential Revision: https://phab.enlightenment.org/D10562
2019-11-04 13:06:53 +01:00
Marcel Hollerbach e2a011f56b efl_canvas_animation_scale: move from 2 doubles to vectors
Summary:
with this the passing of positions is getting more easy. Additionally,
Reading the API call gets easier, as parameters are semantically
grouped.
Depends on D10558

Reviewers: segfaultxavi, Jaehyun_Cho

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8288

Differential Revision: https://phab.enlightenment.org/D10559
2019-11-04 13:06:53 +01:00
Marcel Hollerbach 92a4fab5d7 efl_canvas_animation: be more explicit with errors
Summary:
with this commit invalid values are not accepted silently anymore. But
rather a error will be raised.
Depends on D10350

Reviewers: segfaultxavi, Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8288

Differential Revision: https://phab.enlightenment.org/D10558
2019-11-04 13:06:53 +01:00
Marcel Hollerbach f47b927745 efl_canvas_animation_rotate: adjust API
Summary:
in task T8288 we concluded that a few APIs need to be adjusted in order
to stabelize animation classes at some point. This also adds a new macro
to eina in order to create EINA_VECTOR2 values more easily.

ref T8288

Reviewers: Jaehyun_Cho, segfaultxavi, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8288

Differential Revision: https://phab.enlightenment.org/D10350
2019-11-04 13:06:53 +01:00
Carsten Haitzler b80b9213ad Revert "elm/genlist: don't process entire item queue on each item add"
First - the big problem. This breaks enlightenment's bluez5 popup. it
does a sortyed inert using the item data and the item data for one of
the itmes to compare in _cb_insert_cmp() in e_mod_popup.c when it
calls elm_object_item_data_get(0 returns a junk ptr for the item data
after this patch. i haven't managed to figure out exactly why in my
last 30 mins of looking.

But a closer look... this disables immediate processing of:

1. the first block of items (32items) which was intended so for
short/small lists you have some content by the time you go to the
first frame, and at least the first block of itso you seem to have
visual contnt and not a blank list until idlers can process further
content. so the patch being reverted would have gotten rid of this
logic that gets you content as opposed to blank:

  while ((sd->queue) && ((!sd->blocks) || (!sd->blocks->next)))

2. if it's a homogenous list, all items have the same size so we do
have to realize the first item of each class type but ONLY that one.
further items should not need realizing as we can ASSUME the height to
be the same as the first item... that's the point of homogenous +
compress lists - all items of the same class have the same height and
width thus shortcutting further need to calculate nd realize. if we
are reizing everything in a homogenous list then the issue lies with
something going wrong with this above logic. we shokuld be able to
handle such lists super fastif this logic was working.
that's the 2nd while:

   while ((sd->queue) && (sd->blocks) &&
             (sd->homogeneous) && (sd->mode == ELM_LIST_COMPRESS))

so overall, this should not have been realizing every item. either
just the first block of 32, OR just the first item of any class and
thus assume all further items are the same size without realizing
being needed. if these broke then the solution is not commenting this
out but finding out why this logic is breaking :)

and not to mention... this commenting out also caused segfaults in
existing applications which are doing the right thing. perhaps the
sorting logic also needed updating as well if this above is commented out...
but i didn't have time to chase it more than this.

---

This reverts commit 0777b74f07.
2019-11-01 10:23:40 +00:00
junsu choi 39bde2cedf ecore_event: Remove unused goto define
Summary:
   For remove -Wunused-label warning

Test Plan: N/A

Reviewers: Hermet, kimcinoo, YOhoho

Reviewed By: YOhoho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10584
2019-11-01 12:46:24 +09:00
Cedric BAIL 81165d743f efl: fix include due to stale files.
Reviewers: zmike

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10583
2019-10-31 15:43:21 -04:00
Yeongjong Lee e2980cd981 efl_ui_text: remove elm_general.eot
Summary: remove legacy dependency in eo file.

Test Plan: ninja

Reviewers: woohyun, Jaehyun_Cho, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10580
2019-10-31 13:38:08 -04:00
Cedric Bail a9227fd530 evas: move watching over destruction of device to custom logic due to high use.
Summary:
This specific EFL_EVENT_DEL handler was registered thousand of time alone on
an Evas device. Potential solution are to improve handling of this kind of large
scale callback logic or just not take that path. I find it easier to have a custom
code in this case to handle the destruction of Evas device and avoid this
thousand of callback.

Depends on D10492

Reviewers: zmike, raster, bu5hm4n, Hermet

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8321

Differential Revision: https://phab.enlightenment.org/D10493
2019-10-31 13:29:56 -04:00
Cedric Bail 21f07b9fa9 evas: deprecate evas_device_parent_set.
Summary:
It is unlikely that the code was working before and it was a bad idea
anyway. There is no user of this API in EFL.

Depends on D10490

Reviewers: zmike, raster, bu5hm4n, Hermet

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8321

Differential Revision: https://phab.enlightenment.org/D10491
2019-10-31 13:29:56 -04:00
Cedric Bail 3fd6693764 evas: move exposed internal structure of Efl_Input_Device to be private.
Summary: Depends on D10489

Reviewers: zmike, raster, bu5hm4n, Hermet

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8321

Differential Revision: https://phab.enlightenment.org/D10490
2019-10-31 13:29:56 -04:00
Cedric Bail 7dc98ab3d0 evas: move efl_input_device into evas/Efl_Canvas.h
Summary:
The internal and the API we would like is mostly a canvas API. A lot of the code
in evas is working around the fact that efl_input_device is not defined inside Evas.
This patch is the first step to try to clean this up.

Depends on D10487

Reviewers: zmike, raster, bu5hm4n, Hermet

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8321

Differential Revision: https://phab.enlightenment.org/D10488
2019-10-31 13:29:56 -04:00
Marcel Hollerbach 1a621c9109 eo_base_class: move shift init to the first call
Summary:
this cannot be evalulated in compile time, so this must be evalulated in
runtime, at the first call.

This should fix OSX build.

Co-authored-by: Cedric Bail <cedric.bail@free.fr>

Reviewers: zmike, cedric, raster

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10582
2019-10-31 12:48:27 -04:00
Cedric Bail ff14c84fcb eo: add debug ability to detect long chain of event handler.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10484
2019-10-31 14:52:56 +01:00
Cedric Bail db93501e66 eo: reduce memory use to track event registration and callback call.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10482
2019-10-31 14:52:52 +01:00
Cedric Bail aacb6bc0c8 ecore: remove custom code for generating Eina_Future_Schedule attached on Efl.Loop.
This leverage the new infrastructure from Eo that provide a scheduler for any event
attached to any object.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10481
2019-10-31 14:52:49 +01:00
Cedric Bail 474b1b2c2d eo: add infrastructure to attach an Eina_Future_Scheduler to any source of event.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10480
2019-10-31 14:52:46 +01:00
Cedric Bail 2f1894d054 eina: only the type need to be NULL to assume EINA_VALUE_EMPTY.
This avoid comparison with potentially uninitialized byte.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10479
2019-10-31 14:52:41 +01:00
Cedric Bail 514a96f4d6 ecore: remove unecessary code for Eina_Future scheduler.
As we do not rely on legacy Ecore Event directly anymore, we do not
need to mind the shutting down of EFL.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10477
2019-10-31 14:52:38 +01:00
Cedric Bail 2401dae848 ecore: remove unecessary field in data structure.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10476
2019-10-31 14:52:35 +01:00
Cedric Bail 7f53d91583 eo: prevent unecessary callback call walk.
This patch introduce a small hash (64 or 32bits) that cache all existing
Efl_Event_Description callback handler registered on an object. It slightly
reduce the time needed to do an unecessary call and cost just a few bytes
per object.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10475
2019-10-31 14:52:31 +01:00
Cedric Bail 9852e6cabc elementary: handle case when XFIXES is not available.
Summary:
ECORE_X_EVENT_FIXES_SELECTION_NOTIFY is only initialized when XFIXES
is available. If ecore_event_handler_add is called with type == 0, it
will trigger an abort and elementary would not initialize properly.

Depends on D10491

Reviewers: zmike, raster, bu5hm4n, Hermet

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8321

Differential Revision: https://phab.enlightenment.org/D10492
2019-10-31 09:17:53 -04:00
Cedric Bail e502da8345 edje: load edje seat callback only when necessary.
Summary:
This reduce in elementary_test the number of callback registered on the
canvas from hundreds to around 10.

Depends on D10486

Reviewers: zmike, raster, bu5hm4n, Hermet

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8321

Differential Revision: https://phab.enlightenment.org/D10487
2019-10-31 09:17:46 -04:00
Cedric Bail 27e1bf2fe3 edje: improve callback count on Evas canvas.
Summary:
This reduce by 3 the amount of callback registered on the canvas. Another
potential improvement would be to only register those callback if someone
is listening for a 'seat,*' event or if the edje file define seat filters.

Depends on D10484

Reviewers: zmike, raster, bu5hm4n, Hermet

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8321

Differential Revision: https://phab.enlightenment.org/D10486
2019-10-31 09:17:40 -04:00
Carsten Haitzler 80d317f20e evas - revert evas variation sequence support - out of bound accesses
This code is filled with out of bounds accesses now after the reverted
patch. All those base_char+1, itr+1 etc. in
evas_common_font_query_run_font_end_get() are accessing BEYOND
the end of the run. textgrid shows this instantly to fall over as it
uses single unicode codepoint chars with no nul terminator. As this
api takes an explicit run_len we should never access beyond the end of
the run_len.

Please revisit this code and keep in mind proper memory/bounds
accessing. If there was ano run_len and it assumed strings were
regular strings that had to be nul terminated... then it might be ok,
but not here.

of course if i put in guards for these +1's then it ends up in
infintie loops, so enough debugging and send it back for a rethink. :)

....

Revert "evas_object_textblock: add support for variation sequences"

This reverts commit 46f2d8acdc.
2019-10-31 12:31:52 +00:00
Mike Blumenkrantz 9e313f18ac ecore/timer: correctly handle recursive deletion of legacy timers
if a legacy timer callback returns false, the timer is deleted. in the
case where the legacy timer is deleted inside the callback while the same
timer is ticking recursively, however, the deletion must be deferred until
the outer-most frame of the timer's callstack has returned from the callback
in order to avoid improperly handling the timer

@fix

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10545
2019-10-30 08:49:06 -07:00
Mike Blumenkrantz 1d62c95a2a evas/font: simplify handling strings when constructing font names
no need to strcpy here when we can just pass the length to stringshare directly

CID 1382854

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10441
2019-10-30 08:49:05 -07:00
Mike Blumenkrantz 1e3a3c3357 efl_ui: mark Efl.Ui.Focus.Autoscroll_Mode beta
this cannot currently be used for anything and was not explicitly stabilized

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10540
2019-10-30 08:49:04 -07:00
Mike Blumenkrantz e416b44ed7 efl_ui: remove Efl.Ui.Slider_Indicator_Visible_Mode
this cannot be used for anything and serves no purpose

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10539
2019-10-30 08:49:02 -07:00
Cedric BAIL efbc90ff87 eina: make use of the new near allocation policy for Eina_List.
The idea is to improve memory locality and hopefully get better cache hit
in general.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10536
2019-10-30 08:14:28 -07:00
Cedric BAIL fb5cf01977 eina: introduce an API for requesting memory near already allocated memory from an Eina_Mempool.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10535
2019-10-30 08:14:27 -07:00
Mike Blumenkrantz 37e258904d elm/widget: error on null params for tree_unfocusable functions
Summary: these should error so the user can detect that they screwed up

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10563
2019-10-30 09:29:56 -04:00
Woochanlee d5bd2ed2d0 edje_calc: Remove unused flag.
Summary: This has marked remove me.

Reviewers: raster, Hermet, zmike, devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10561
2019-10-30 08:10:09 -04:00
Mike Blumenkrantz f4019d3303 eina: add comparison macros for Eina_Size2D and Eina_Position2D
Summary:
I'm tired of typing all this out. it's exhausting.

also add a couple usages internally to verify that this works as expected

@feature

Reviewers: cedric, bu5hm4n, devilhorns

Reviewed By: devilhorns

Subscribers: devilhorns, bu5hm4n, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10557
2019-10-29 14:52:58 -04:00
Mike Blumenkrantz 400e139efa interfaces: replace doubles with Efl.Gfx.Align where appropriate
Summary:
this makes the types more explicit
Depends on D10554

Reviewers: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10555
2019-10-29 18:57:40 +01:00
Mike Blumenkrantz d8ea2eb2cd efl/gfx: add Efl.Gfx.Align type
Summary:
this can be used to more explicitly specify that a double is intended to
be a value of 0.0 to 1.0 for the purpose of aligning objects. it also avoids
the need to copy and paste the same docs around everywhere

Reviewers: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10554
2019-10-29 18:57:40 +01:00
Marcel Hollerbach 28f630ba41 meson: redo evas building
Summary:
before recent times we had to support static and shared building based
on the options of the user, which forced us to complicate our build with
the evas_goal hack. the evas_goal hack more or less was the idea of
"faking" the evas build in the evas directory, finish all the .eo
generation there, then build the modules and make all the static files
ready. Then build everything in evas_goal.

Now, that we just build everything the same always, we can simply build
it in the evas way (removing the evas_goal hack FINALLY), as the same modules
are build statically and shared.
This also gives us the possibility to build the shared image loaders
*again* the the modules directory, which unbreaks peoples build scripts
who packaged loader files seperatly.

Reviewers: zmike, raster, cedric, stefan_schmidt

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10548
2019-10-29 12:54:56 -04:00
Mike Blumenkrantz 2477dfaf59 edje: selectively inhibit content,changed events when changing swallowed parts
ref T8321

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10508
2019-10-29 16:17:48 +01:00
Mike Blumenkrantz 1800f060c8 elm/genlist: fix item focus unregister on item move
if the block is realized, its items have been registered into the focus
manager and must be unregistered to avoid double-registering

@fix

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10544
2019-10-29 16:09:41 +01:00
Mike Blumenkrantz 0d845057cc elm/genlist: hide cached item contents and mark content unfocusable during calc
cached item contents should already be hidden by the edje clipper, so this simply
changes their visible state to break them out of the focus calcs

contents must also be explicitly marked as unfocusable during calc-only realize
operations in order to avoid triggering a full focus recalc which will error due
to missing focus adapter in the item block

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10543
2019-10-29 16:09:37 +01:00
Mike Blumenkrantz 50848a4302 elm/genlist: set pan need recalc during item move on item position change
item move operations require pan recalc in order to process the item block
positioning updates

@fix

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10533
2019-10-29 16:09:34 +01:00
Mike Blumenkrantz d9132697b3 elm/genlist: fix "drag" smart callback
this is only a smart callback and not an eo callback

@fix

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10527
2019-10-29 16:09:31 +01:00
Mike Blumenkrantz 7f69997fd0 elm/genlist: trigger filter,done callback immediately if no filter queue exists
the documentation says this should trigger when filtering is done, and if
no filtering is pending then it is done

@fix

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10526
2019-10-29 16:09:28 +01:00
Mike Blumenkrantz 846563f13c elm/genlist: slightly simplify use of _item_filtered_get()
passing the smart data here (which we always have) makes the function
a little clearer to read. similarly, we can check whether the filter_data
pointer is set inside the function to avoid having to check it everywhere else

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10525
2019-10-29 16:09:25 +01:00
Mike Blumenkrantz 23851808bb elm/genlist: defer recalc when applying a name filter
this may be called successively during the same mainloop iteration,
so it's important to defer this as much as possible

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10524
2019-10-29 16:09:22 +01:00
Mike Blumenkrantz 712266fb9a elm/genlist: remove calc jobs
now that we have a sane and consistent sizing calc mechanism, we no longer
need to be randomly creating jobs to do additional side calcs in addition
to our other multiple bespoke calculation methods

instead, we can now call the calc function directly during the group calc
to perform all the calcs at once and avoid the overhead of constantly triggering
calc jobs

a possible future improvement here could be to remove the _calc_job() call in
the internal pan object's group_calculate, as this is likely a duplicated op
but it will require additional testing to verify

unit test performance (e.g., tree) increases roughly 50-80% after this patch

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10523
2019-10-29 16:09:18 +01:00
Mike Blumenkrantz 0777b74f07 elm/genlist: don't process entire item queue on each item add
this is a colossal waste of time. it ends up realizing every single item
immediately even if it won't be visible, which defeats the purpose of all
the batching and viewport calculations that genlist explicitly does to
avoid exactly this type of behavior

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10522
2019-10-29 16:09:15 +01:00
Mike Blumenkrantz 006b680fbe elm/genlist: freeze/thaw canvas when processing item queue
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10521
2019-10-29 16:09:12 +01:00
Mike Blumenkrantz df79f01b2a elm/genlist: only add calc job on theme apply if already finalized
not a required operation otherwise

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10519
2019-10-29 16:09:09 +01:00
Mike Blumenkrantz 27ff978ca9 elm/genlist: remove misleading "changed" signal
this was never implemented or documented anywhere and serves only to be
misleading for anyone reading the code

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10518
2019-10-29 16:09:06 +01:00
Mike Blumenkrantz 7a6d5dd9f3 elm/genlist: fix item highlight/unhighlight eventing on clicks
* highlight should only be triggered on mouse down, as that is the point of
  interaction with an item which indicates it is "in use"; a mouse-up event
  cannot occur on an item which has not previously received a mouse-down event,
  so toggling this on mouse-up will be wrong/duplicated 100% of the time
* unhighlight should only be triggered during mouse-up events if the list is
  in no-select mode, as it will otherwise be implicitly during selection if
  necessary

this should ensure that these events are emitted exactly one time and correctly
for each click event

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10517
2019-10-29 16:09:03 +01:00
Mike Blumenkrantz dcc7467c00 efl/timer: correctly handle recursion for timer processing
if the currently-processed timer is recursively deleted (efl_del) while
it is inside the timer tick event callback, we must correctly handle this
case:

* in the place where a timer's inlist is de-linked, we must check to see
  if the timer is the current timer and then update that pointer with the next
  timer in the list
* in the post-tick part of timer processing, we must NOT update the current timer
  pointer if we detect that it has been updated recursively

this fixes processing of timers in the mainloop to trigger more than one legacy timer
per mainloop iteration and likely has some (positive) impact on mainloop throughput

@fix

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10515
2019-10-29 16:08:57 +01:00
Mike Blumenkrantz 4f90594ecb efl/timer: don't attempt instantiating timers until they're finalized
this will fail anyway so don't bother

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10514
2019-10-29 16:08:54 +01:00
Woochanlee 555f456b39 efl_ui_win: Delete useless geometry set for legacy.edje
Summary:
It will be resized on window_resize_job. when the window got specific size.
I don't think this is needed here. It cause doing a calc in vain.

Test Plan: Launching Test applications.

Reviewers: raster, Hermet, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10550
2019-10-29 10:19:43 -04:00
Woochanlee 8536c066eb edje_calc: Delete duplicated conditional statement.
Summary: this is identical to the conditional above and can be merged
to improve code clarity

Reviewers: raster, Hermet, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10549
2019-10-29 10:19:43 -04:00
Xavi Artigas c462140884 Replace tabs with spaces
As our coding conventions mandate.
2019-10-29 14:56:01 +01:00
Lauro Moura 135c69b23c eolian_cxx: Add key/value to function_def
Summary:
This commit adds explicit eolian key/value/return info to function_def. The
original parameter/return types are kept for compatibility.

parameter/return -> Mimics the behavior of the generated C API (i.e.
single-valued getters have their lone value translated to be their
return type)

explicit_return -> The actual return value for that block in the EO
file.
keys/values -> The values for respectively key and values blocks.

This should help working with properties in the generators instead of
fumbling with paremeter/return directly

Fixes T8431

Test Plan: extra tests in the diff

Reviewers: felipealmeida, brunobelo, segfaultxavi, YOhoho

Reviewed By: brunobelo

Subscribers: cedric, #reviewers, #committers, woohyun

Tags: #efl

Maniphest Tasks: T8431

Differential Revision: https://phab.enlightenment.org/D10494
2019-10-28 20:35:39 -03:00
Xavi Artigas e25ed4f353 docs: Polished docs for Efl.Ui.Scrollable 2019-10-28 19:32:23 +01:00
Xavi Artigas cb396554c6 docs: Formatting and polishing Efl.Ui.Factory docs 2019-10-28 18:47:23 +01:00
Marcel Hollerbach ea07d5f7da efl_ui_spotlight_manager: apply vis changes to subobj
Summary:
when the sportlight is hidden, the state should be applied to the
backclip and foreclip, in order to hide the subobjects correctly.

This fixes dangling showing widgets.

Reviewers: Jaehyun_Cho, zmike, segfaultxavi

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10468
2019-10-28 12:40:17 -04:00
Xavi Artigas 368db272fd docs: Improve documentation on cache-related classes
Also, code comments and typos.
2019-10-28 16:51:59 +01:00
thierry1970 2f5e2de8c4 efreet : Check that the file has a protocol in efreet_desktop_command_file_process()
if a path has a '/' character in it before the ':' character then it
should be treated as a local file which contains a ':' character in
its name

Reviewers: devilhorns, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10409
2019-10-28 09:07:13 -04:00
Xavi Artigas 08d7d2b064 Efl.Ui.Text: Fix Text Cursor composition
Summary:
This is a temporary fix while Text is being revamped.
Efl.Ui.Text internally composites Efl.Text_Cursor (through some other interfaces)
but this was not being advertised in the EO file.
This caused no trouble to C but was preventing C# from using the Cursors API
(because C# relies on the EO composites section).

On top of this, the cursor_new() method has been removed, since it was redundant.

Test Plan:
Builds and passes tests, and C# is able to do things like:
```
Efl.TextCursorCursor cursor = screen.GetTextCursor(Efl.TextCursorGetType.Main);
screen.InsertCursorText(cursor, str);
```

Reviewers: lauromoura, cedric, tasn

Reviewed By: lauromoura

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10465
2019-10-25 18:07:55 -03:00
Cedric BAIL 4329b88df4 evas: disable Eina Cow Garbage Collection on dynamic content.
Summary:
Dynamic content are likely to trigger an image state change at pretty
much every frame. This lead to unecessary attempt by Eina_Cow to
deduplicate/cleanup data that are changing all the time. This reduce
memory consumption in Expedite tests that in some small amount. The
gain get bigger the more animation you get on screen. There might be
other potential gain for heavy animated case.

Reviewers: zmike, Hermet, bu5hm4n, smohanty

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8302

Differential Revision: https://phab.enlightenment.org/D10532
2019-10-25 15:45:14 -04:00
Marcel Hollerbach a380a4275a elm_interface_scrollable: correctly honor looping over
Summary:
when looping is enabled, we need to ensure that the correct arrows are
enabled.

ref D9906

Depends on D9908

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9917
2019-10-25 14:07:26 -04:00
Marcel Hollerbach ace64dafea elm_interface_scrollable: correctly emit the signals always
Summary:
our default theme defaults to show everything, the code here assumes
that everything is hidden by default, this fixes all this.

fix T4918

Depends on D9907

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T4918

Differential Revision: https://phab.enlightenment.org/D9908
2019-10-25 14:07:21 -04:00
Marcel Hollerbach 72525c77da elm_interface_scrollable: correctly handle bouncing
Summary:
if bounding is enabled, those values can get smaller and bigger than the
max value.

ref T4918

Depends on D9906

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T4918

Differential Revision: https://phab.enlightenment.org/D9907
2019-10-25 14:04:46 -04:00
Mike Blumenkrantz 3638b632c8 efl_ui/text_scroller: fix null derefs
Summary: CIDs 1403890, 1396964, 1396945

Reviewers: cedric, vtorri

Reviewed By: cedric

Subscribers: vtorri, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10447
2019-10-25 09:54:19 -04:00
Yeongjong Lee 6231d5f252 efl_ui_relative_layout: change child, target parameter type to Efl.Gfx.Entity
child, target should be graphical object.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10401
2019-10-24 08:07:52 -07:00
Mike Blumenkrantz cdacc790f7 elm/code: check save file attrs after opening
ensure that they haven't changed between time of check and time of open

CID 1396966

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10440
2019-10-24 08:07:50 -07:00
Hosang Kim b2ee3ad748 efl_message: add pending queue for filtering message.
Sometimes message is appended when message queue is walking.
In this case, newly added messages are not filtered.
So I add message pending queue for filtering message.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10459
2019-10-24 08:07:49 -07:00
Mike Blumenkrantz f5e9af8c67 ecore/app: permit resetting app args to uninitialized (zeroed) state
Summary:
this is mainly useful for unit testing, but unsetting values should not be
treated as an error

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10412
2019-10-24 18:20:34 +02:00
Felipe Magno de Almeida a3ade15d5a cxx: Add license to CXX bindings.
Summary:
Like C#, it will also be Apache 2.0

Depends on D9414

Reviewers: vitor.sousa, woohyun, jpeg, lauromoura

Reviewed By: lauromoura

Subscribers: jpeg, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9418
2019-10-24 10:40:16 -03:00
Lauro Moura 40a980174b csharp: Add licensing information.
Summary:
C# bindings will be lincensed under Apache Sofware License 2.0.

This commit adds the license text to the licenses folder and a copyright
notice to the binding files.

Fixes T8039

Reviewers: woohyun, felipealmeida, vitor.sousa

Reviewed By: felipealmeida

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8039

Differential Revision: https://phab.enlightenment.org/D9414
2019-10-24 10:10:56 -03:00
Daniel Kolesa 079b1f05b1 eina: remove eina_config.h.in
This is never actually used since meson generates eina_config.h
from scratch. Apart from the byteswap checks done in the previous
commit, all of the other things already seem to be done by meson,
so just remove it.
2019-10-23 15:51:34 +02:00
Daniel Kolesa 84251f9f00 eina: unbreak byteswap checks
For one, eina_config.h.in is never used by anything since meson,
so doing any checks in it and expecting them to work is wrong.
Byteswaps are one place where this is the case, so move the
checks back in their appropriate place.
2019-10-23 15:51:08 +02:00
Xavi Artigas 69b1b1cc3e docs: small fixes to Efl.Text 2019-10-23 10:15:30 +02:00
Christopher Michael b5c30bfbbe ecore-wl2: Minor formatting fix
NB: No functional changes
2019-10-22 10:42:54 -04:00
Daniel Kolesa 038539176c eina: fix network byte order swap funcs on big endian 2019-10-22 10:59:42 +02:00
Ali Alzyod 46f2d8acdc evas_object_textblock: add support for variation sequences
Summary: update font processing to handle variation sequences unicodes to select proper glypg in respect to variation seqences

Test Plan:
```
#define EFL_EO_API_SUPPORT 1
#define EFL_BETA_API_SUPPORT 1
#include <Eina.h>
#include <Efl.h>
#include <Elementary.h>

EAPI_MAIN int
elm_main(int argc, char **argv)
{
   Evas_Object *win, *textblock;

   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);

   win = elm_win_util_standard_add("Main", "");
   elm_win_autodel_set(win, EINA_TRUE);
   textblock = evas_object_textblock_add(win);
   efl_canvas_text_style_set(textblock,NULL,"DEFAULT='font=DejaVuSans font_fallbacks=SamsungColorEmoji color=#000 font_size=20'");
   evas_object_textblock_text_markup_set(textblock, "8&#xfe0f;&#x20E3;&#x262a;&#xfe0f;AAA&#x262a;&#xfe0E;1234567&#xfe0f;&#x20E3;");

   evas_object_size_hint_weight_set(textblock, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   evas_object_size_hint_align_set(textblock, EVAS_HINT_FILL, EVAS_HINT_FILL);
   evas_object_show(textblock);
   evas_object_move(textblock, 0, 0);
   evas_object_resize(textblock, 320, 320);
   evas_object_resize(win, 320, 320);
   evas_object_show(win);
   elm_run();
   return 0;

}

ELM_MAIN()

```

Reviewers: woohyun, bowonryu, segfaultxavi, cedric, bu5hm4n

Reviewed By: woohyun, cedric

Subscribers: bu5hm4n, subodh6129, herdsman, segfaultxavi, zmike, cedric, #committers, #reviewers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9053
2019-10-19 14:01:36 +09:00
Mike Blumenkrantz 20b592cef7 fix various trivial null derefs
Summary:
CIDs 1401081, 1401044, 1400983, 1400960, 1400927, 1400799, 1396946, 1396944,
     1383851, 1383847, 1382211, 1379921, 1379921

Reviewers: cedric

Reviewed By: cedric

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10452
2019-10-18 13:30:10 -04:00
Mike Blumenkrantz c12008b4d0 efl/io: return EINVAL if null slice is passed for writing
Summary: CIDs 1396996, 1396983, 1396953

Reviewers: cedric

Reviewed By: cedric

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10451
2019-10-18 13:30:03 -04:00
Mike Blumenkrantz 8d0561ac9c elm/main: fix null deref
Summary: CID 1402697

Reviewers: cedric

Reviewed By: cedric

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10449
2019-10-18 13:29:51 -04:00
Mike Blumenkrantz c81e4d5080 eina/convert: init endptr in failure case of eina_convert_strtod_c
Summary:
there is not any way to determine that this function has failed other
than to check this pointer, so ensure that it always has a value which
is meaningful in failure cases

Reviewers: cedric

Reviewed By: cedric

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10445
2019-10-18 13:29:32 -04:00
Mike Blumenkrantz 9ea26fd88f efl/boolean_model: remove misleading null check
Summary:
this is always a pointer to a stack variable

CID 1405799

Reviewers: cedric

Reviewed By: cedric

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10444
2019-10-18 13:29:26 -04:00
Mike Blumenkrantz 36c5f1026f ecore/main: avoid calling FD_SET with invalid fd value
Summary:
it's possible that _ecore_get_epoll_fd() can return -1, so ensure that we
correctly handle this

CID 1383850

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10394
2019-10-18 13:29:01 -04:00
Mike Blumenkrantz 39f384bba1 ecore/getopt: handle negative return in arg parsing
Summary:
_ecore_getopt_parse_find_nonargs_base() can return -1 on errors

CID 1402615

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10393
2019-10-18 13:28:54 -04:00
Mike Blumenkrantz 3b161da0ce evas/language: #ifdef guard variable which is only used inside #ifdef
Summary:
this variable is already only changed inside an #ifdef, so declare and
free it only inside the same ifdef for clarity

ref 9d9aa8b6ae
CID 1400807

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10389
2019-10-18 13:28:41 -04:00
Woochanlee 484a482942 gesture_manager: Deleted function and definition that are no more use.
Summary:
D7762

Searching for event what is using in gesture manager.
But the value was wrong.

And now D10437 made it better.

Reviewers: Hermet, smohanty, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10438
2019-10-17 10:41:15 -04:00
Lauro Moura da6f25bee0 csharp: Add Efl.Model implementations to internal model
Summary:
CollectionView tries to access some properties from the base model so we
need to provide some implementation of the property getter/setter.

Reviewers: SanghyeonLee, cedric, felipealmeida

Reviewed By: SanghyeonLee

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10300
2019-10-17 11:11:00 -03:00
junsu choi 59419006b8 efl_canvas_vg : Propagates the alpha color of the parent
Summary:
The current color is affected by the parent's opacity.
If p_opacity is set, it will be applied to the current color.

Test Plan: N/A

Reviewers: Hermet, smohanty, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10399
2019-10-16 15:12:13 +09:00
Jaehyun Cho c4c372c47d efl_ui: rename efl_ui_types.eot to efl_ui_drag_types.eot
Summary:
The current efl_ui_types.eot contains only enum Efl.Ui.Drag_Dir.
Therefore, it is renamed to efl_ui_drag_types.eot as follows.
src/lib/efl/interfaces/efl_ui_types.eot -> efl_ui_drag_types.eot

Reviewers: bu5hm4n, segfaultxavi, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10387
2019-10-15 09:06:48 -04:00
Carsten Haitzler ca32732373 ecore_evas/wl2 0 fux xdg close cb for window when it's closed remotely
this should fix this:

https://matrix.org/_matrix/media/r0/download/matrix.org/lhFneENlWAjuXDaJfSYuJjjJ

unfortunately this means adding an api and then using it in ecore_evas.

@fix
2019-10-14 22:58:27 +01:00
Cedric BAIL 18de24baeb ecore_con: use only Eina_Magic infrastructure for set and check in Ecore_Con_Url.
Summary:
We can not have half our code rely on Ecore magic check and the other half
use Eina_Magic or this will lead to inconsistency with Eina_Magic definition.

Reviewers: zmike, segfaultxavi, bu5hm4n, raster

Reviewed By: raster

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10383
2019-10-14 09:38:23 -04:00
Mike Blumenkrantz 95b5731461 elm/layout: add some workarounds to try handling legacy min sizes
Summary:
if a legacy widget calls evas_object_size_hint_min_set, this actually sets
efl_gfx_hint_size_restricted_min now, which is supposed to be the hint that
is used internally by widgets. as a result, there is a conflict between the
size which the user expects and the size which the widget tries to calculate.

the user size should always be respected, however, so this adds some tracking
to determine whether the layout's min size was set by the layout during its own
calc or by something externally

@fix

Reviewers: eagleeye, CHAN, woohyun, Jaehyun_Cho, cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10373
2019-10-14 09:30:23 -04:00
Mike Blumenkrantz dc5c17a104 evas/render: selectively inhibit render callbacks
Summary:
only call these if they are subscribed to now

ref T8321

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8321

Differential Revision: https://phab.enlightenment.org/D10361
2019-10-14 09:30:17 -04:00
Mike Blumenkrantz 7ad8acc290 efl_ui/layout: selectively inhibit theme,changed event
Summary:
this is called a ton.

ref T8321
Depends on D10359

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8321

Differential Revision: https://phab.enlightenment.org/D10360
2019-10-14 09:30:10 -04:00
Mike Blumenkrantz 8c6b26af01 ecore: inhibit "idle" event emission if no subscribers exist
Summary:
it seems like this was intended to be handled already, but somehow it wasn't...

ref T8321
Depends on D10358

Reviewers: cedric

Reviewed By: cedric

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8321

Differential Revision: https://phab.enlightenment.org/D10359
2019-10-14 09:30:03 -04:00
Mike Blumenkrantz 78ea96af89 evas/smart: inhibit smart member add/del callbacks when no subscribers exist
Summary:
this is triggered a ton on app startup

ref T8321
Depends on D10357

Reviewers: bu5hm4n, cedric

Reviewed By: bu5hm4n, cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8321

Differential Revision: https://phab.enlightenment.org/D10358
2019-10-14 09:29:57 -04:00
Mike Blumenkrantz b1a2d82417 edje: block "recalc" event emission if it isn't being subscribed to
Summary:
this gets called a ton

ref T8321
Depends on D10356

Reviewers: bu5hm4n, cedric

Reviewed By: bu5hm4n, cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8321

Differential Revision: https://phab.enlightenment.org/D10357
2019-10-14 09:29:50 -04:00
Mike Blumenkrantz f174bf2eb2 evas/smart: print actual errors when smart api functions are called on non-smarts
Summary:
this is an error, and it should be printed
Depends on D10355

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10356
2019-10-14 09:29:43 -04:00
Mike Blumenkrantz 3175690466 evas/smart: inhibit evas-internal smart callbacks when there are no subscribers
Summary:
we know these ahead of time since they're hardcoded, so we can block their
emission just like we do for eo events

ref T8321
Depends on D10354

Reviewers: cedric

Reviewed By: cedric

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8321

Differential Revision: https://phab.enlightenment.org/D10355
2019-10-14 09:29:37 -04:00
Mike Blumenkrantz 8218fb0e20 eo: block "invalidate" event emission when there are no subscribers
Summary:
this should be handled like the rest of eo internal events

ref T8321
Depends on D10353

Reviewers: bu5hm4n, cedric

Reviewed By: bu5hm4n, cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8321

Differential Revision: https://phab.enlightenment.org/D10354
2019-10-14 09:29:30 -04:00
Mike Blumenkrantz e96d18b046 evas/callbacks: emit hardcoded legacy smart callbacks always
Summary:
these are not strictly related to the event callback types and should not
have their emission tied to the corresponding event

also add unit test to verify all of these

@fix

Reviewers: cedric

Reviewed By: cedric

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10353
2019-10-14 09:29:23 -04:00
Carsten Haitzler 4192137ba9 eet - fix loading eet files that do not have dicts
my performance fix for locking around the eet dict breaks if there is
no dict in the eet file. this causes a segv.

fixes T8368

@fix
2019-10-14 12:16:03 +01:00
Hermet Park 68c824e3e9 canvas vg: don't draw images if it's full transparent. 2019-10-14 17:53:53 +09:00
WooHyun Jung 247331363a eolian: fix eolian errors with EOLIAN_ENFORCE_SINCE=1
Summary:
This is not the end of fixing eolian errors. I need to keep fixing
more.

Test Plan:
1. export EOLIAN_ENFORCE_SINCE=1
2. ninja

Reviewers: q66, segfaultxavi, zmike, bu5hm4n, Jaehyun_Cho

Reviewed By: segfaultxavi, Jaehyun_Cho

Subscribers: Jaehyun_Cho, stefan_schmidt, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10370
2019-10-14 16:55:52 +09:00
Lauro Moura 8686e14dc9 elm: Fix potential leak in cv request add
Summary: CID 1405809

Reviewers: zmike, cedric, bu5hm4n

Reviewed By: cedric

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10174
2019-10-13 23:34:35 -03:00
Shinwoo Kim 431d62d095 evas filter: Implement grayscale filter in SW
Summary: Initial version implementing grayscale filter in SW.

Test Plan:
1. Create filter_example with following.
efl_gfx_filter_program_set(image, "grayscale ()", "grayscale");

1. Run.
./filter_example

Reviewers: Hermet, jsuya

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10219
2019-10-14 11:13:40 +09:00
Shinwoo Kim f0b8c6b94e evas filter: preserve text source color
Summary:
The filter did not use text source color. Whatever color a text has, filter
used white color instead of it.

Test Plan: efl_gfx_filter_program_set(non_white_color_text, "code", "name");

Reviewers: Hermet, jsuya, cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10336
2019-10-14 11:11:40 +09:00
Shinwoo Kim 8da73f9a68 evas_cache_image: drop image after replacement
Summary:
When a newly created Image_Entry works for instead of an old one,
we need to drop it. And we did dorp it.

The line calling ref and drop was added by following commit.

   d550190 evas image cache - add lots more locking to try stamp out
           any thread bug

But it is missed by following commit.

   9f99ab1 evas cache: clear up caching locking and reference count.

Reviewers: Hermet, raster, jsuya, cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10333
2019-10-14 11:07:27 +09:00
Lauro Moura 5516b06af5 eolian-cxx: Make events inherit beta info from klass.
To mimic function behavior

Reviewed-by: Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D10381
2019-10-12 19:18:13 -03:00
Lauro Moura b1a1cdc701 eolian-cxx: Rename fields to standard naming
Summary: bool fields were missing the `is_` prefix.

Reviewers: felipealmeida, brunobelo, segfaultxavi, woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10380
2019-10-12 18:36:44 -03:00
Carsten Haitzler 3d5e735704 eio - fbsd - make fd for monitored file close on exec
this fixes T7486
2019-10-12 13:02:31 +01:00
Jaehyun Cho 338e92e8d2 efl_ui_panes: fix not to consider content min size for legacy panes
Summary:
Since legacy panes did not consider its content's min size, the
content's min size calculation logic is not done for legacy panes.

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10372
2019-10-11 10:03:17 -04:00
Marcel Hollerbach b7432f690f efl_ui_focus_object: do not emit focus_geometry_changed when not needed
Summary:
this is emitted a lot of times, which costs time. Most of the time they
are however not needed. With this commit, these events are not emitted
anymore.

ref T8321

Reviewers: zmike, cedric

Reviewed By: zmike, cedric

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8321

Differential Revision: https://phab.enlightenment.org/D10348
2019-10-11 10:03:17 -04:00
Mike Blumenkrantz 9d9aa8b6ae evas/language: #ifdef guard variable which is only used inside #ifdef
Summary:
this variable is already only changed inside an #ifdef, so declare and
free it only inside the same ifdef for clarity

CIDs 1401016, 1400807

Reviewers: cedric

Reviewed By: cedric

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10320
2019-10-11 10:03:17 -04:00
Marcel Hollerbach dd093de23c efl_canvas_animation_player: fix double free
Summary:
when we are returning 0 in a animation callback, the animator will be
deleted.

This fixes a crash in tab_pager.
Depends on D10306

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10307
2019-10-11 10:03:17 -04:00
Lauro Moura 470c6516fe cv: Switch to safe 32/64 bits printf masks
This should silence 32-bit warnings about long long stuff

Reviewers: vtorri, cedric, bu5hm4n

Reviewed By: cedric

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10214
2019-10-11 10:03:17 -04:00
Cedric BAIL 8b5ffea131 ecore_con: use only Eina_Magic infrastructure for set and check in Ecore_Con.
Summary:
We can not have half our code rely on Ecore magic check and the other half
use Eina_Magic or this will lead to inconsistency with Eina_Magic definition.
Depends on D10363

Reviewers: zmike, bu5hm4n, segfaultxavi, stefan_schmidt

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10364
2019-10-11 09:25:04 -04:00
Cedric BAIL 1f1f0f75c0 ecore_con: destructor are always called when finalize return NULL.
Summary:
This prevent crash and double free during an invalid Ecore_Con_Eet failure
to initialize.

Reviewers: zmike, bu5hm4n, segfaultxavi, stefan_schmidt

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10362
2019-10-11 09:25:04 -04:00
SangHyeon Jade Lee 57652c12f6 elm: fix legacy callback names.
Summary:
this patch is fix of D10240.
there are few mischanges on callback names,
so fix it orginal legacy names,

SCROLL_CHANGED = "scroll"
SCROLL_ANIM_START = "scroll,anim,start"
SCROLL_ANIM_STOP = "scroll,anim,stop"
SCROLL_DRAG_START = "scroll,drag,start"
SCROLL_DRAG_STOP = "scroll,drag,stop"

Reviewers: bu5hm4n, eagleeye, akanad

Reviewed By: eagleeye

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10332
2019-10-10 16:54:40 +09:00
Mike Blumenkrantz b8fab9b8dd efl_ui/selection_manager: be explicit with sizeof() usage
Summary:
ensure we don't have issues with portability and type sizes

CID 1385141

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10201
2019-10-09 13:19:36 -04:00
Lauro Moura fb7c35269c csharp: Respect beta for type aliases
Summary: Also add beta info to `alias_def` in eolian_cxx.

Reviewers: brunobelo, felipealmeida, woohyun, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10315
2019-10-09 16:45:30 +02:00
Lauro Moura 86191b02c7 eolian: Leave default text for libeolian users
Summary:
Instead of setting the default text at the library level, keep the
summary empty if nothing is provided.

The libeolian users them are free to check if the summary was actually
empty or a placeholder text was added.

ref T8309

Test Plan: Run attached tests

Reviewers: q66, segfaultxavi

Subscribers: cedric, brunobelo, #reviewers, felipealmeida, #committers

Tags: #efl

Maniphest Tasks: T8309

Differential Revision: https://phab.enlightenment.org/D10285
2019-10-09 16:18:30 +02:00
Mike Blumenkrantz f09a3b5ca3 efl_ui/container: remove erroneous negative value checks for uint params
Summary:
../src/lib/elementary/efl_ui_box.c: In function ‘_efl_ui_box_efl_gfx_arrangement_content_padding_set’:
../src/lib/elementary/efl_ui_box.c:411:10: warning: comparison of unsigned expression < 0 is always false [-Wtype-limit ]
  411 |    if (h < 0) h = 0;
      |          ^
../src/lib/elementary/efl_ui_box.c:412:10: warning: comparison of unsigned expression < 0 is always false [-Wtype-limit ]
  412 |    if (v < 0) v = 0;
      |          ^
../src/lib/elementary/efl_ui_table.c: In function ‘_efl_ui_table_efl_gfx_arrangement_content_padding_set’:
../src/lib/elementary/efl_ui_table.c:272:10: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]
  272 |    if (h < 0) h = 0;
      |          ^
../src/lib/elementary/efl_ui_table.c:273:10: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]
  273 |    if (v < 0) v = 0;
      |          ^

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10304
2019-10-08 16:49:41 +02:00
junsu choi 6b2504ba56 evas_vg_cache: Hashkey of cache use value provider list
Summary:
Even if the same window, the same file, and the same size,
different images may be requested due to property changes caused by value_provider.

Test Plan: N/A

Reviewers: Hermet, smohanty, kimcinoo

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10303
2019-10-08 20:33:20 +09:00
Lauro Moura 4867c4bdaf csharp: Add some docs to MVVM infrastructure
Reviewers: SanghyeonLee, felipealmeida, cedric, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10301
2019-10-08 10:24:17 +02:00
Davide Andreoli 3cdb87990a Pyolian gendoc: add ability to generate only the stable API
gendoc.py --exclude-beta

generate the docs excluding all the classes/types/etc in beta state,
a bit hackish but do the job. There are some broken links around that
refer to objects in beta state that are (correctly) not generated,
nothing we can do to fix this.
2019-10-07 19:39:07 +02:00
Mike Blumenkrantz 4f947925a1 efl_ui/win: initialize max size hints to -1 during constructor
Summary:
this is just a cosmetic change for ease of debugging since it will already
be clamped to max size during eval if it remains unchanged

for max size hints a value of -1 means that the hint is unset but a value
of 0 is technically valid depending on the implementation
Depends on D10296

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10297
2019-10-07 18:49:19 +02:00
Mike Blumenkrantz eff717eb26 efl_ui/win: fix max size hint eval
Summary:
win objects should never permit the max size on any axis to be 0, otherwise
the window will be clamped to 1px on the given axis

fixes T8304
@fix
Depends on D10272

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8304

Differential Revision: https://phab.enlightenment.org/D10296
2019-10-07 18:40:10 +02:00
Xavi Artigas 5a447ed327 docs: Remove redundant documentation
Lots of EO files had the same information at the property and set/get level.
Removed the redundant bits, and moved to the property level the common ones.
Set and Get documentation should be used only to clarify setter-only or
getter-only behavior.
2019-10-07 16:40:50 +02:00
Cedric BAIL 5cc9ea90c4 eldbus: properly cleanup local variable during destruction.
Summary: Depends on D10288

Reviewers: zmike, bu5hm4n, segfaultxavi, stefan_schmidt, jsuya

Reviewed By: zmike

Subscribers: ProhtMeyhet, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10289
2019-10-07 10:04:18 -04:00
Cedric BAIL d28870daa7 eldbus: connection are destroyed on invalidate, there is no point for any object to not cleanup on invalidate.
Summary:
This solve a bug when there is a change in order of destruction and you would expect the model to still work.
Depends on D10287

Reviewers: zmike, bu5hm4n, segfaultxavi, stefan_schmidt, jsuya

Reviewed By: bu5hm4n

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10288
2019-10-07 10:04:12 -04:00
Cedric BAIL 7f91f6280d eldbus: Eldbus_Proxy require to handle self desctruction as refcounting doesn't fully protect.
Summary:
If the connection is destroyed before the proxy, the proxy will clear itself and self destroy.
Before that it will trigger the free callback to handle proper cleanup. Refcounting it doesn't
protect it from this self destruction scenario. So it is mandatory to always have a free callback
set on a proxy to handle its death properly.
Depends on D10286

Reviewers: zmike, bu5hm4n, segfaultxavi, stefan_schmidt, jsuya

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10287
2019-10-07 10:04:05 -04:00
Cedric BAIL e0187ce2ec eldbus: properly call parent finalize during creation of Eldbus.Model_Method.
Summary: @fix

Reviewers: zmike, bu5hm4n, segfaultxavi, stefan_schmidt, jsuya

Reviewed By: bu5hm4n

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10286
2019-10-07 10:03:58 -04:00
WooHyun Jung 5a684e0855 efl_ui_image: fix backward compatibility issue
Summary:
Previously, "anim" property was saved before checking
evas-image's "animated" stated. This patch just corrects
the issue.

Reviewers: zmike, bu5hm4n, segfaultxavi

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10293
2019-10-07 10:03:48 -04:00
Marcel Hollerbach d52e77dcb7 efl_ui_datepicker: no need to delete the manager here
Summary:
it is already picked up when datetime is invalidated, due to the correct
parent beeing set.

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10291
2019-10-07 10:03:48 -04:00
Bruno da Silva Belo f18a5b4389 c: coverity: resource leaked when using realloc.
Summary:
from https://en.cppreference.com/w/c/memory/realloc
```
On success, returns the pointer to the beginning of newly allocated memory.
To avoid a memory leak, the returned pointer must be deallocated with free()
or realloc(). The original pointer ptr is invalidated and any access to it
is undefined behavior (even if reallocation was in-place).

On failure, returns a null pointer. The original pointer ptr remains valid
and may need to be deallocated with free() or realloc(). ```
So a temporary to test if `realloc` failed
then use the original pointer to use `free`.
`CID1404749`
`CID1404741`

Reviewers: lauromoura, felipealmeida, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10284
2019-10-07 09:02:10 -04:00
Stefan Schmidt 55e865dd82 evil: make it clear in the docs that this library is private to efl
Since the 1.23 release we are stricter with the use of evil. It is
supposed to be used inside efl only and not exposed as API. Make this
clear in the docs as well.

Reviewed-by: Vincent Torri <vincent.torri@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10295
2019-10-07 12:50:14 +02:00
Stefan Schmidt 370697b50c evil: remove stray x character from docs section
Reviewed-by: Vincent Torri <vincent.torri@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10294
2019-10-07 12:50:13 +02:00
Stefan Schmidt b4e943ef3e evil: bring back doxygen intro page for evil library
While we switched evil to be not a public AP, but internal lib only, we
still want to have its documentation shown.

Reviewed-by: Vincent Torri <vincent.torri@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10270
2019-10-07 12:50:12 +02:00
Jongmin Lee 34fa84a171 ecore : fix incorrect size of expression for coverity
Summary: correct bad use of sizeof function (detected by coverity tool)

Test Plan: N/A

Reviewers: Hermet, woohyun, kimcinoo, cedric, jsuya

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10281
2019-10-07 15:59:18 +09:00
Carsten Haitzler f8e027c395 build - efl run in tree - make exception for image loaders/savers
due to meson's insistence on naming even moudles libmodule.so, and our
complexity of build as in the previous commits ... have a special case
for in tree module loading for these.
2019-10-05 20:00:52 +01:00
Carsten Haitzler 0f3bbb51f4 build - images loaders and saver modules need to link to evas
if your platform is picky enough it won't want to leave unresolved
symbols (which wshould be resovled at runtime from the host lib) so we
need to link these modules to evas. the problem is due to the
complicated build of some modules being static and some shared, evas
is declared with evas_goal and this has to be declared after static
modules are declared but since i was declaring static and shared at
the same time from a table this breaks. so i have to move all the
static and shared module stuff into evas_goal into 2 phases. one phase
for the static and one for the shared after evas is delcared so evas
as a target exists to link to.
2019-10-05 18:39:38 +01:00
Stefan Schmidt 15696f5e7c efl_ui_video: bring back Elm_video doxygen group for docs
This group got lost at some point and resulted in broken link in our
doxygen documentation.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D10273
2019-10-04 10:44:09 +02:00
junsu choi 94733b4926 efl_ui_animation_view : Put @beta on Efl.Ui.Animation_View_State
Summary: Efl.Ui.Animation_View class still in beta state.

Test Plan: N/A

Reviewers: Hermet, kimcinoo, smohanty

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10268
2019-10-04 10:05:45 +09:00
Mike Blumenkrantz 9e113d0f2f efl_ui/bg: unset finger_size multiplier during construction
Summary:
this is not a clickable widget, so it shouldn't use finger size

ref T8304

@fix

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8304

Differential Revision: https://phab.enlightenment.org/D10274
2019-10-02 18:02:35 +02:00
Xavi Artigas 5e5aac5006 evas: silence compiler warning in textblock
Uninitialized variable.
2019-10-02 16:37:33 +02:00
Mike Blumenkrantz 1d27c9d2e4 edje/edit: add api for checking 'required' property of parts
Summary: this is useful for verifying api compliance

Reviewers: cedric

Reviewed By: cedric

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10055
2019-10-02 12:15:10 +02:00
Yeongjong Lee fa90880055 efl_gfx_arrangement: change content_padding param type and remove scalable
Summary:
This change `content_padding` parameter type to int from double for consistency
of size properties.

`scalable` should be handled in more common size API.

Co-authored-by: Mike Blumenkrantz <zmike@samsung.com>

ref T7864

Test Plan: ninja test

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7864

Differential Revision: https://phab.enlightenment.org/D10154
2019-10-02 12:11:15 +02:00
Xavi Artigas f53583a5c9 docs: Fix problems with monospaced text
Eolian recently added support for $[...] which allows highlighting
more than one word in monospaced text.
2019-10-02 11:31:19 +02:00
Felipe Magno de Almeida be2e0bef07 elementary: Add documentatio to efl_ui_layout_factory.eo
Summary:
Documentation was very sparse and actually empty in some places. Add proper documentation

Related to T7717

Reviewers: woohyun, cedric, SanghyeonLee, lauromoura, brunobelo, myoungwoon, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10267
2019-10-02 10:14:45 +02:00
junsu choi 779bd0539e vg_common_json: Override value_provider list
Summary:
If value_provider is applied to Efl.Ui.Animation_View, it is passed as vector object.
The passed value_provider list passes to Vg_File_Data.
If there is a value_Provider list in Vg_File_Data,
it apply the property to Lottie_Animation using lottie_animation_property_override api.

Depends on D9874

Test Plan:
...

Eo *vp = efl_add(EFL_GFX_VG_VALUE_PROVIDER_CLASS, p);
efl_gfx_vg_value_provider_keypath_set(vp, "**");
efl_gfx_vg_value_provider_fill_color_set(vp, 100, 0 ,0 ,255);
efl_ui_animation_view_value_provider_override(anim_view, vp);

vp = efl_add(EFL_GFX_VG_VALUE_PROVIDER_CLASS, p);
efl_gfx_vg_value_provider_keypath_set(vp, "**");
efl_gfx_vg_value_provider_stroke_width_set(vp, 50.0);
efl_gfx_vg_value_provider_stroke_color_set(vp, 0, 255, 0, 100);
efl_ui_animation_view_value_provider_override(anim_view, vp);
...

Reviewers: Hermet, kimcinoo, smohanty

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9897
2019-10-02 14:30:06 +09:00
junsu choi 6deb21f9f9 Efl.Gfx.Vg.Value_Provider: Introduce property change feature of Efl.Ui.Animation_View
Summary:
Efl.Gfx.Vg.Value_Provider is an object for integrating and managing the properties of vector objects.
These values are dependent on the keypath.
Keypath is the target a specific content or a set of contents that will be updated.
It can include the specific name of the contents, wildcard(*) or Globstar(**).

The valueProvider is borrowed from another library that uses a vector object of type json, such as Efl.Ui.Animation_View
(5fc0e59e0c/lottie-swift/src/Public/iOS/AnimatedControl.swift (L50))

This feature should be used with some patches that apply to the vg json loader and Efl.Canvas.Vg.Object.

Test Plan: N/A

Reviewers: Hermet, kimcinoo, smohanty

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9874
2019-10-02 14:19:30 +09:00
Hermet Park 94c193e40b Revert "evas map: diable high quality texture mapping feature."
This reverts commit 3787050515.

This patch should go on.
2019-10-02 11:43:32 +09:00
Daniel Kolesa 71c83d2005 efl: add code to enforce presence of @since tags
This is not yet enabled because there's too many instances where
this is broken.

Ref T7704
2019-09-30 20:12:35 +02:00
Xavi Artigas 835e230f2f Revert "eolian: disallow missing docs for stable API where necessary"
I'm afraid but this breaks the mono bindings too close to a release.
This also fixes the missing docs errors by adding a lot of inconsistent
placeholder text ("No description supplied.", "TBD") which will make
finding them later on more complicated.

I was the one that asked for this feature but it is not critical at this
point, so I suggest we explore some refinements (like T8291) before landing
this patch in its current state.

This reverts commit 2946cb3c32.
2019-09-30 19:48:19 +02:00
Daniel Kolesa 2946cb3c32 eolian: disallow missing docs for stable API where necessary
The things that require docs include classes, variables, typedecls,
events and methods/properties. Implements, params, returns, parts
and struct/enum fields don't require them.

Empty/whitespace only string does not count as documentation.
2019-09-30 18:21:17 +02:00
Marcel Hollerbach f324e9fc11 efl_canvas_animation_player: improve docs
Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10250
2019-09-30 17:18:52 +02:00
Daniel Kolesa 27291b4486 eolian: fix potential ABI violation in expr serialization
While this may seem safe, and likely is on any 64-bit system,
it may not be entirely well defined. And in this case we should
not have to worry about copying.

Maybe fixes T8276...
2019-09-30 11:32:41 +02:00
Marcel Hollerbach 8de8f059c9 elm_code_widget: when the position is updated, set new geom to cursor
in order to do that, we need to ensure that the internal box is
calculated, otherwise the position is still not updated correctly.
This fixes wrong cursor positions in edi.

fixes T8214

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D10225
2019-09-30 10:46:40 +02:00
Marcel Hollerbach 9bc9eff716 elm_code_widget: initialize these vars correctly
otherwise we are setting a cursor from time to time at a uninitialized
position. Which causes disappeared cursors

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D10224
2019-09-30 10:46:38 +02:00
Mike Blumenkrantz df3cf01628 Revert "eo beta - mark task, io classes as beta because they are..."
This reverts commit 5455a2dcf7.

these classes were explicitly stabilized for 1.22

see T7599, T7600, T7601

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D9901
2019-09-30 10:46:37 +02:00
Mike Blumenkrantz 52d04bc524 efl_ui: remove legacy component includes, include Efl_Layout.h and Efl_Canvas.h
this header shouldn't include any legacy headers whatsoever

fix T8274

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10236
2019-09-30 10:33:35 +02:00
Mike Blumenkrantz 96be3cd83d efl_ui: remove efl_ui_text headers from Efl_Ui.h for now
these require legacy types and headers, which should not be brought into
this header

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10235
2019-09-30 10:33:34 +02:00
Mike Blumenkrantz 26035da7b0 efl_ui: explicitly include eo headers for a couple types
the general headers here pull in legacy headers, which is bad

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10231
2019-09-30 10:33:29 +02:00
Mike Blumenkrantz e55a6f6778 edje: add Efl_Layout.h for eo-based layout headers
this includes all related headers

ref T8274

Additional Authors: Lauro Moura <lauromoura@expertisesolutions.com.br>

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10228
2019-09-30 10:33:27 +02:00
Mike Blumenkrantz 7a82dfbcc7 edje: rename edje_types.eot to efl_canvas_types.eot and move include
this has no relation to legacy and should not be included in legacy headers

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10227
2019-09-30 10:33:25 +02:00
Mike Blumenkrantz 34a21d7ef9 efl/canvas: add Efl_Canvas.h
this includes all the efl.canvas headers and adds some compilation tests
for the header to the unit test suite

ref T8274

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10226
2019-09-30 10:33:24 +02:00
Hermet Park 3787050515 evas map: diable high quality texture mapping feature.
This is a little bit buggy, need to make it stablize further.

Temporarily diable this for 1.23 release.
2019-09-30 16:54:45 +09:00
Yeongjong Lee d1dd3c30b9 eolian_mono: Respect beta for enum
Summary: this prevent generating beta enum with `-Dmono-beta=false`.

Test Plan: meson setup -Dbindings=mono,cxx -Dmono-beta=false

Reviewers: lauromoura, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10245
2019-09-30 13:52:45 +09:00
Marcel Hollerbach a864d62ecf elm_*: make scrolling correct again
in revision D9859 the scroll events have been renamed. However this also
renamed the legacy widgets, which also renamed the evas smart events,
which is a bug. With this commit we are back to plain old
evas_smart_callback_call calls, as these just take the string, and do
not need the bypassing through the eo events.

This fixes:
- elm_test gengrid,toolbar,panel (the events are now shown correctly
again)
- scrolling in elm_code_widget
- elm_map in a touchscreen

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10240
2019-09-28 18:42:45 +02:00
Xavi Artigas 18ea5fd118 themes: Rename "dragable" to "draggable"
Summary:
"Dragable" is a misspelling:
https://en.wiktionary.org/wiki/dragable

We have it EVERYWHERE in EFL, even with jokes:
./src/lib/efl/interfaces/efl_ui_drag.eo:1

This patch only fixes the theme API so it does not get carved in stone for this release.

Depends on D10217

Test Plan: No functional changes.

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10218
2019-09-27 08:42:27 -04:00
Jaehyun Cho b5a917c120 theme: replace hbar and vbar to horizontal_bar and vertical_bar
Summary:
To make clear the meaning, hbar and vbar are replaced to horizontal_bar
and vertical_bar.

Reviewers: zmike, woohyun, segfaultxavi

Reviewed By: zmike, segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10217
2019-09-27 08:40:35 -04:00
Shinwoo Kim 081e318d90 evas filter: Implement grayscale filter in pure GL
Summary:
Initial version implementing grayscale filter in pure GL.
This patch needs a logt of love as 5bce712 did.

Grasyscale formula:
https://www.tutorialspoint.com/dip/grayscale_to_rgb_conversion.htm

Test Plan:
1. Create filter_example with following .
efl_gfx_filter_program_set(image, "grayscale ()", "grayscale");

2. Run.
ELM_ACCEL=gl ./filter_example

Reviewers: Hermet, jsuya

Subscribers: ali.alzyod, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9858
2019-09-27 15:35:03 +09:00
Cedric Bail 29beda7f4f evas: fix memory leak with Efl.Canvas.Vg
Summary:
It is not correct to change the parent and hope that refcount will work
for you. The parent chain is a decision made by the user, not something
a widget can touch. Only ref count are to be used when given an outside
object. As things where not triggering destruction, there was also no
point where the image buffer would be getting to zero and be freed. This
commit also fix this.

Reviewers: Hermet, zmike

Reviewed By: Hermet

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10169
2019-09-27 14:19:38 +09:00
Mike Blumenkrantz 6443120eb3 evas/object; fix null deref
Summary:
_efl_canvas_object_clipper_prev_reset() derefs obj->cur

CID 1396985
Depends on D10211

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10212
2019-09-26 18:00:05 -04:00
Mike Blumenkrantz 64799b32a1 eio/dir: fix null deref
Summary:
above cases may fail, causing target to be null

CID 1399103
Depends on D10210

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10211
2019-09-26 17:59:59 -04:00
Mike Blumenkrantz a50bd311ab efl_ui/image fix null derefs
Summary:
CID 1405781, 1405780
Depends on D10209

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10210
2019-09-26 17:59:54 -04:00
Mike Blumenkrantz 4a3b4e3b4a efl_ui/scroll_manager: fix null derefs
Summary:
CID 1405811, 1405804
Depends on D10208

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10209
2019-09-26 17:59:49 -04:00
Mike Blumenkrantz f7befea043 efl_ui/table: handle case where table has no items
Summary:
CID 1399086
Depends on D10207

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10208
2019-09-26 17:59:43 -04:00
Mike Blumenkrantz cd97c2a0b7 eina/list: move dead code inside corresponding #ifdef
Summary:
this is debug code

CID 1404753, 1404745
Depends on D10204

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10205
2019-09-26 17:59:29 -04:00
Bruno da Silva Belo 7ba4f00f57 eolian_cxx: Possible infinite loop, if called.
Reviewers: lauromoura, felipealmeida

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10200
2019-09-26 18:53:23 -03:00
Mike Blumenkrantz 68b1cfe5d6 efl_ui/item_clickable: mark beta again
Summary:
this isn't strictly necessary at the moment

Depends on D10197

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10199
2019-09-26 18:00:32 +02:00
Mike Blumenkrantz 5256b9476d efl_ui/layout: improve error message when theme version parsing fails
Summary:
be very explicit here so that users can immediately know how to resolve
the issue
Depends on D10193

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10194
2019-09-26 18:00:32 +02:00
Mike Blumenkrantz 6f6407729e efl_ui/layout: fix shadow warning
Summary:
a variable with the same name is declared above
Depends on D10192

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10193
2019-09-26 18:00:31 +02:00
Mike Blumenkrantz a21dacbad6 efl_ui/layout: use better check for determining whether to defer signals
Summary:
a layout (not layout_base) should not defer signals. theme groups loaded
by a layout widget can be anything, and are not subject to the versioning
requirements that efl widgets have
Depends on D10055

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10192
2019-09-26 18:00:31 +02:00
Daniel Kolesa 79aa86df5a eolian: better error message for const on strings 2019-09-26 17:33:44 +02:00
Mike Blumenkrantz d2d4fcce48 ecore-x: protect against accidentally "un-managing" the root window
Summary:
block calls to XSelectInput with the root window if the root window is
currently being "managed" in-process in order to avoid breaking the
running wm
Depends on D10013

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10014
2019-09-26 11:23:24 -04:00
Mike Blumenkrantz 2f7b359183 ecore-x: add internal function for selecting just properties of root window
Summary:
this is just a shortcut for watching properties in the case where no wm is
active in the process
Depends on D10012

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10013
2019-09-26 11:23:12 -04:00
Mike Blumenkrantz 2bc6754d39 ecore-x: track whether ecore-x is internally "managing" the root window
Summary:
when ecore_x_window_manage is called, this is probably only for the case of
managing the root window, i.e., running a window manager. store this state
internally so that we can avoid calling additional XSelectInput later and
fucking up the expected eventing

Depends on D9899

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: devilhorns, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10012
2019-09-26 11:23:01 -04:00
Mike Blumenkrantz 9d16a44334 ecore-x: fix null derefs in window prop code
Summary:
handle cases where null params could be passed and cause crashes

@fix

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9899
2019-09-26 11:22:32 -04:00
SangHyeon Jade Lee d4c4d8f0f4 efl_core : stabilized Efl.Generic_Model
Summary:
stabilzed Efl.Generic_Model

depends on D10188

Reviewers: cedric, zmike, segfaultxavi

Reviewed By: cedric

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10189
2019-09-26 11:06:22 -04:00
SangHyeon Jade Lee 33512079cd efl_ui : stablized Efl.Ui.View
Summary:
Efl.Ui.View is base infrastructure interface of MVVM.

fixes T7578

Reviewers: zmike, cedric, segfaultxavi, bu5hm4n

Reviewed By: cedric

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7578

Differential Revision: https://phab.enlightenment.org/D10188
2019-09-26 11:06:22 -04:00
Daniel Kolesa b0ee540ec9 eolian: rename param direction enum and fields for consistency 2019-09-26 16:56:13 +02:00
Daniel Kolesa cdff7852e0 eolian: loosen the requirements on API (don't return stringshare) 2019-09-26 16:47:22 +02:00
Daniel Kolesa 6d93dc4cbf eolian: rename event_prefix to event_c_prefix for consistency 2019-09-26 16:47:22 +02:00
Daniel Kolesa 7e10d96d27 eolian: move EOLIAN_TYPE_BUILTIN_HASH into beta section 2019-09-26 16:47:21 +02:00
Mike Blumenkrantz f5a4fd89d9 efl_ui/item_clickable: fix event info for press events
this is just a button and not the full clickable struct

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10198
2019-09-26 16:30:32 +02:00
Daniel Kolesa a95870286e eolian: stricter checks for const() validity 2019-09-26 16:19:12 +02:00
WooHyun Jung 23bbf2bf3a efl_ui_image: fix a wrong return value of legacy API
Summary:
elm_image_animated_play_get needs to return opposite
value of animated_PAUSED_get.

Reviewers: zmike, segfaultxavi, bu5hm4n

Reviewed By: zmike, segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10186
2019-09-26 09:00:09 -04:00
WooHyun Jung 3bdd50e412 edje_legacy: add validation check to return legacy default value
Summary:
When invalid object comes, the return value should be
EINA_FALSE.

Reviewers: zmike, bu5hm4n, segfaultxavi

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10185
2019-09-26 08:59:31 -04:00
WooHyun Jung ddb28ccdf1 efl_ui_win: add validation check to return legacy default value
Summary:
elm_win_type_get needs to return ELM_WIN_UNKNOWN when
invalid object comes.

Reviewers: zmike, bu5hm4n, segfaultxavi

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10187
2019-09-26 08:59:28 -04:00
Marcel Hollerbach 8197fee189 efl: mark selectable stable
Summary:
fixes T7871
fixes T7852

This also works arround a eolian issue where composites do not mark the
inherited API from the composites as implemented.

Reviewers: SanghyeonLee, cedric, segfaultxavi, zmike

Reviewed By: segfaultxavi

Subscribers: SanghyeonLee, cedric

Tags: #efl

Maniphest Tasks: T7871, T7852

Differential Revision: https://phab.enlightenment.org/D10184
2019-09-26 13:06:24 +02:00
Marcel Hollerbach 1df17abba5 efl_ui_*selectable: unify these APIs with the same c_prefix
Summary:
with this commit that api for single and multi selectable shares the
same prefix, which makes sense in c as we do not really differ between
those two types there anyway.

ref T7871

Reviewers: SanghyeonLee, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7871

Differential Revision: https://phab.enlightenment.org/D10183
2019-09-26 18:32:58 +09:00
SangHyeon Jade Lee a4f5da0fb2 efl_ui : add document comment on efl_ui_item_clickable event data
Summary: Add document comment on Efl_Ui_Item_Clickable.Clickable_Clicked.

Reviewers: cedric, zmike, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10181
2019-09-26 10:46:17 +02:00
Cedric Bail 41d0ead833 elementary: stabilize Efl.Ui.Item_Clickable.
Summary: Depends on D10177

Reviewers: zmike, bu5hm4n, segfaultxavi, lauromoura, SanghyeonLee, felipealmeida

Reviewed By: zmike, SanghyeonLee

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8266

Differential Revision: https://phab.enlightenment.org/D10173
2019-09-25 21:59:29 -04:00
Cedric Bail 26d5b7366e elementary: forward Efl.Input.Clickable event to Efl.Ui.Collection* event.
Summary: Depends on D10176

Reviewers: zmike, segfaultxavi, bu5hm4n, SanghyeonLee, lauromoura, felipealmeida

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8266

Differential Revision: https://phab.enlightenment.org/D10177
2019-09-25 21:59:25 -04:00
Cedric Bail b8af6c17fc elementary: temporary workaround include issue that prevent acces to Evas_Eo.h
Summary: Depends on D10175

Reviewers: zmike, segfaultxavi, bu5hm4n, SanghyeonLee, lauromoura, felipealmeida

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8266

Differential Revision: https://phab.enlightenment.org/D10176
2019-09-25 21:59:20 -04:00
Cedric Bail 7cf364f270 elementary: rename Efl.Ui.Collection_Event to Efl.Ui.Item_Clickable
Summary: Depends on D10171

Reviewers: zmike, segfaultxavi, bu5hm4n, SanghyeonLee, lauromoura, felipealmeida

Reviewed By: zmike, SanghyeonLee

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8266

Differential Revision: https://phab.enlightenment.org/D10175
2019-09-25 21:59:14 -04:00
Cedric Bail 4c3dce94eb elementary: stabilize Efl.Ui.Collection_View.
Reviewers: zmike, bu5hm4n, segfaultxavi, lauromoura, SanghyeonLee, felipealmeida

Reviewed By: zmike, SanghyeonLee

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8261

Differential Revision: https://phab.enlightenment.org/D10171
2019-09-25 21:59:09 -04:00
Mike Blumenkrantz 593b7426ae api: mark Efl.Ui.Image_Zoomable stable
Summary:
ref T7875
Depends on D10125

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl_api

Maniphest Tasks: T7875

Differential Revision: https://phab.enlightenment.org/D10126
2019-09-25 17:56:38 -04:00
Mike Blumenkrantz b59c00864c api: mark Efl.Gfx.Image_Load_Controller stable
Summary:
fix T7876
Depends on D10124

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl_api

Maniphest Tasks: T7876

Differential Revision: https://phab.enlightenment.org/D10125
2019-09-25 17:56:33 -04:00
Mike Blumenkrantz 8e17112c76 api: mark efl.gfx.image and related types stable
Summary:
fix T7875
fix T7926
fix T7927
fix T7926
fix T7929

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl_api

Maniphest Tasks: T7929, T7927, T7926, T7875

Differential Revision: https://phab.enlightenment.org/D10124
2019-09-25 17:56:29 -04:00
Mike Blumenkrantz 59709bc907 theme: migrate all efl,anim,activate (and similar) signals to efl,state,animation,activated
Summary:
ref T8231
Depends on D10166

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8231

Differential Revision: https://phab.enlightenment.org/D10167
2019-09-25 17:56:17 -04:00
Mike Blumenkrantz aab9341766 theme: efl,state,anim,stop -> efl,state,animating,stopped
Summary:
ref T8231
Depends on D10165

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8231

Differential Revision: https://phab.enlightenment.org/D10166
2019-09-25 17:56:11 -04:00
Mike Blumenkrantz 3ec56e0dc4 api: efl,state,busy,(start|stop) -> efl,state,busy,(started|stopped)
Summary:
ref T8231
Depends on D10163

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8231

Differential Revision: https://phab.enlightenment.org/D10165
2019-09-25 17:56:06 -04:00
Mike Blumenkrantz 6d6bfeecfa theme: use more explicit signal names for C <- theme scrollbar signals
Summary:
ref T8231

Depends on D10161

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8231

Differential Revision: https://phab.enlightenment.org/D10162
2019-09-25 17:55:55 -04:00
Mike Blumenkrantz edab064de9 theme: efl,action,clicked -> efl,action,click
Summary:
action signals should infinitives

ref T8231
Depends on D10160

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8231

Differential Revision: https://phab.enlightenment.org/D10161
2019-09-25 17:55:50 -04:00
Mike Blumenkrantz ab8306135c theme: use more explicit signal names for C -> theme scrollbar signals
Summary:
ref T8231

Depends on D10159

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8231

Differential Revision: https://phab.enlightenment.org/D10160
2019-09-25 17:55:45 -04:00
Mike Blumenkrantz 41f37c328e theme: use 'visible' style signals for spin_button button/entry visibility
Summary:
ref T8231
Depends on D10158

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8231

Differential Revision: https://phab.enlightenment.org/D10159
2019-09-25 17:55:40 -04:00
Mike Blumenkrantz 9b18e5a291 theme: efl,state,(content|text),(set|unset) -> efl,(content|text),(set|unset)
Summary:
this is versioned, so the correct signal will always be emitted for the theme
version that is provided

ref T8231

Depends on D10164

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8231

Differential Revision: https://phab.enlightenment.org/D10158
2019-09-25 17:55:35 -04:00
Mike Blumenkrantz f24ce654c0 efl_ui/layout: add mechanism for deferring versioned theme signals
Summary:
the theme version isn't available until the theme has been applied, so
we can create an array of all the pending signals and defer them until
such time as we get a theme or destroy the object

this is internal and can be reworked at a later time as needed

ref T8231

Depends on D10157

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8231

Differential Revision: https://phab.enlightenment.org/D10164
2019-09-25 17:55:29 -04:00
Mike Blumenkrantz 75c8fd1cc2 api: move eo-based radio and check widgets to use selectable signal names
Summary:
this is a more standardized name

ref T8231

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8231

Differential Revision: https://phab.enlightenment.org/D10157
2019-09-25 17:55:24 -04:00
Cedric Bail a55580ab27 ecore: stabilize Efl.Loop_Model
Summary:
T8270
Depends on D10138

Reviewers: zmike, segfaultxavi, bu5hm4n, SanghyeonLee, lauromoura, felipealmeida

Reviewed By: SanghyeonLee

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7885

Differential Revision: https://phab.enlightenment.org/D10139
2019-09-25 17:16:54 -03:00
Cedric Bail acb314fb1d ecore: stabilize Efl.Composite_Model.
Summary: Depends on D10137

Reviewers: zmike, segfaultxavi, bu5hm4n, SanghyeonLee, lauromoura, felipealmeida

Reviewed By: SanghyeonLee

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7885

Differential Revision: https://phab.enlightenment.org/D10138
2019-09-25 17:16:54 -03:00
Cedric Bail 4473483503 elementary: stabilize Efl.Ui.View_Model
Summary:
T8268
Depends on D10136

Reviewers: zmike, segfaultxavi, bu5hm4n, SanghyeonLee, lauromoura, felipealmeida

Reviewed By: SanghyeonLee

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7885

Differential Revision: https://phab.enlightenment.org/D10137
2019-09-25 17:16:54 -03:00
Cedric Bail 2078fe00e0 efl: stabilize Efl.Model
Summary:
T8267
Depends on D10135

Reviewers: zmike, segfaultxavi, bu5hm4n, SanghyeonLee, lauromoura, felipealmeida

Reviewed By: SanghyeonLee

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7885

Differential Revision: https://phab.enlightenment.org/D10136
2019-09-25 17:16:54 -03:00
Cedric Bail c3db279304 efl: stabilize Efl.Ui.Factory_Bind
Summary:
T8264
Depends on D10134

Reviewers: zmike, segfaultxavi, bu5hm4n, SanghyeonLee, lauromoura, felipealmeida

Reviewed By: SanghyeonLee

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7885

Differential Revision: https://phab.enlightenment.org/D10135
2019-09-25 17:16:54 -03:00
Cedric Bail 31dda96114 efl: stabilize Efl.Ui.Property_Bind
Summary:
T7579
Depends on D10133

Reviewers: zmike, segfaultxavi, bu5hm4n, SanghyeonLee, lauromoura, felipealmeida

Reviewed By: SanghyeonLee

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7885

Differential Revision: https://phab.enlightenment.org/D10134
2019-09-25 17:16:54 -03:00
Cedric Bail bf1f7cfab7 efl: stabilize Efl.Ui.Factory.
Summary:
T8262
Depends on D10132

Reviewers: zmike, segfaultxavi, bu5hm4n, SanghyeonLee, lauromoura, felipealmeida

Reviewed By: SanghyeonLee

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7885

Differential Revision: https://phab.enlightenment.org/D10133
2019-09-25 17:16:54 -03:00
Cedric Bail 31b99e67c4 elementary: stabilize Efl.Ui.Widget_Factory.
Summary:
T8271
Depends on D10130

Reviewers: zmike, segfaultxavi, bu5hm4n, SanghyeonLee, lauromoura, felipealmeida

Reviewed By: SanghyeonLee

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7885

Differential Revision: https://phab.enlightenment.org/D10131
2019-09-25 17:16:54 -03:00
Lauro Moura 1115752451 elm: Avoid maybe unitialized variable accesses
Reviewers: cedric, bu5hm4n, zmike, felipealmeida

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10170
2019-09-25 16:15:43 -04:00
Cedric Bail 25cba85a6a efl: improve error message to be really useful.
Reviewers: zmike, bu5hm4n

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10168
2019-09-25 16:15:29 -04:00
SangHyeon Jade Lee 7884a38dbd efl_ui : change selected_items_get to selected_iterator_new.
multi_selectable_aync already changed name as
selected_iterator_new
so multi_selectable change name also for unity of API.

not sure about we need unselected_items_get in multi_selectable,
so skip to create new api for this time.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10148
2019-09-25 21:14:22 +02:00
Cedric Bail e5ad8716bd elementary: properly mark iterator usage in Efl.Ui.Factory.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D10132
2019-09-25 11:31:04 -07:00
Cedric Bail 267f8fcfa8 elementary: return an error when unimplemented function on Efl.Ui.Widget_Factory.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10130
2019-09-25 11:31:02 -07:00
Cedric Bail 78ee2ca6b0 elementary: add support for default property on item being created by Efl.Ui.Widget_Factory.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D10129
2019-09-25 11:31:00 -07:00
Mike Blumenkrantz a4597c8326 efl_ui/image: fix playback_speed timer calcs
I accidentally inverted this; the frame timing needs to be divided by
the playback speed to have the correct time here

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10147
2019-09-25 11:30:59 -07:00
Mike Blumenkrantz 9206960dfa efl_ui/layout: add explicit error case when theme version > efl version
it's important to handle cases where a "future" theme is trying to be used
by "current" efl. this throws a serious error, since it's possible that the
widget may look/act in a way that makes it unusable

ref T8231

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10153
2019-09-25 11:30:57 -07:00
Daniel Kolesa 71cd89c580 eolian: expose most API as stable
There is still some TODO with builtin types, parameter
directions and prefixes, which will be resolved in the
next commits.
2019-09-25 18:26:07 +02:00
Mike Blumenkrantz 883cb445c6 efl_ui/layout: improve docs
Summary: add doc notes for these classes

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10155
2019-09-25 16:19:19 +02:00
Mike Blumenkrantz 0b8862642a api: mark Efl.Ui.Scrollable stable
Summary: fix T7883

Subscribers: cedric, #reviewers, #committers

Tags: #efl_api

Maniphest Tasks: T7883

Differential Revision: https://phab.enlightenment.org/D10151
2019-09-25 13:35:34 +02:00
Mike Blumenkrantz b7ed1901d5 api: mark Efl.Ui.Spin_Button stable
Summary: fix T8097

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl_api

Maniphest Tasks: T8097

Differential Revision: https://phab.enlightenment.org/D10152
2019-09-25 13:35:34 +02:00
Mike Blumenkrantz a171b5bd10 api: mark Efl.Ui.Box_Stack stable
Summary: fix T8207

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl_api

Maniphest Tasks: T8207

Differential Revision: https://phab.enlightenment.org/D10150
2019-09-25 13:35:34 +02:00
Mike Blumenkrantz 05a7168ca3 efl/arrangement: mark content_padding beta
Summary:
this still potentially needs some work and changing the implementations
now would be too invasive

ref T7864

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7864

Differential Revision: https://phab.enlightenment.org/D10149
2019-09-25 13:35:34 +02:00
Shinwoo Kim 5fa21a9629 evas_callbacks: check if obj is NULL before using it
Summary:
evas_object_callbacks_finalized could take NULL obj because
_efl_canvas_object_efl_object_finalize could call it with NULL obj.

Reviewers: bu5hm4n, jsuya, Hermet

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10141
2019-09-25 06:53:53 -04:00
WooHyun Jung 14a6dd6ab0 efl_ui_spin_button: mark "direct_text_input" property @beta
Summary:
After making efl_ui_text interface be stabilized, this property
can be considered again about its opening.

ref T8097

Reviewers: zmike, bu5hm4n

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8097

Differential Revision: https://phab.enlightenment.org/D10140
2019-09-25 06:53:51 -04:00
Yeongjong Lee 09b2ecec6d efl_ui_layout: fix null pointer dereferences
Summary: If theme doesn't have version data, `version` can be NULL.

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10146
2019-09-25 06:44:56 -04:00
Xavi Artigas eda96947b3 docs: formatting nitpick in Efl.Player.eo 2019-09-25 12:33:24 +02:00
Mike Blumenkrantz 595987ae17 efl/image: remove load_controller events
these aren't implemented by anything and duplicate the functionality provided
by efl.gfx.image::image,preload_state,changed

ref T7876

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10128
2019-09-25 11:05:47 +02:00
SangHyeon Jade Lee 9b8dcf2f29 efl_ui : put beta on range select/unselect as parameter unstable
there are more discussion need on this range selection.
we could extend this parameter with range structure(aka Eina.Range)
so that extendable object to object, int to int, Range to Range.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10145
2019-09-25 11:05:45 +02:00
WooHyun Jung 1c93663156 efl_ui_win: default window type change should not be applied to legacy one
If my understanding is correct, below referenced commit needs to be applied to
efl_ui_win only.

@ref D10049

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10143
2019-09-25 11:05:44 +02:00
SangHyeon Jade Lee 2c4db3b09a efl_ui : reverse the select method name to be ended verb on the last.
Summary:
our new method naming rule only allow verb at the last position,
so change name to fallow rule.

Reviewers: bu5hm4n, cedric, segfaultxavi

Reviewed By: bu5hm4n, segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10144
2019-09-25 17:12:51 +09:00
Mike Blumenkrantz 5ccf48355b api: mark Efl.Player stable
fix T7877

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10127
2019-09-24 15:23:28 -07:00
Mike Blumenkrantz 3e7b7a47e7 efl_ui/image: implement efl.player::playback_speed methods
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10121
2019-09-24 15:23:26 -07:00
Mike Blumenkrantz 5555c8e879 efl_ui/image: implement efl.player::playback_progress method
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10120
2019-09-24 15:23:24 -07:00
Mike Blumenkrantz e4ce41d6a6 efl_ui/image: implement required efl.player::playback_position methods
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10119
2019-09-24 15:23:22 -07:00