Commit Graph

64554 Commits

Author SHA1 Message Date
junsu choi 256c792837 vg_common_json: Fix a missing of free after using
Summary: iterator itr will leak by going out the function widthout freeing.

Test Plan: N/A

Reviewers: Hermet, smohanty, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10736
2019-11-26 13:50:29 +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
Woochanlee 3b743715a0 theme: Delete max that seems not right.
Summary:
It prevents popup edje resize.
So not we cant see slider indicator.
T8483

before that edje calc in render time.
But now we dont calc for no size edje.

Limit max 0 0 is really looks weird.

Test Plan: elementary_test->slider ->check indicator.

Reviewers: eagleeye, Hermet, cedric, smohanty, Jaehyun_Cho

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8483

Differential Revision: https://phab.enlightenment.org/D10721
2019-11-25 19:10:41 +09: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
junsu choi 0f9b749f68 vector lottie: Set visibility vg node
Summary:
All nodes reset their visibility when they are reused.
Therefore, visibility must be set true if mVisibile is true.

Test Plan: N/A

Reviewers: Hermet, kimcinoo, smohanty

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10731
2019-11-25 13:39:01 +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 5eab3bff68 vector lottie: reset vg tree each frames.
Since vector tree nodes are reusing instead of reconstrucion,
We make it sure that dangling nodes invisible by clearing all nodes visibility.

Only valid nodes will be reset to visible while setting up in the progress.
2019-11-21 17:47:15 +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 ce30a952b2 vector json: checking valid pointer before accessing it. 2019-11-21 17:28:54 +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
Bruno da Silva Belo 53af539f27 csharp: Components enum are flags now.
Reviewers: lauromoura, felipealmeida, YOhoho

Reviewed By: lauromoura

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8411

Differential Revision: https://phab.enlightenment.org/D10541
2019-11-20 19:22:53 -03:00
Bruno da Silva Belo 4b13be6d15 csharp: Hiding p-invokes.
Summary: ref T8406

Reviewers: lauromoura, felipealmeida, YOhoho

Reviewed By: YOhoho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8406

Differential Revision: https://phab.enlightenment.org/D10651
2019-11-20 18:37:48 -03:00
Lauro Moura 0c9ddb0f34 csharp: CA1307 Add CultureInfo to generated code.
Summary:
For the struct fields with strings when implementing `GetHashCode`.

Ref T8405

Reviewers: brunobelo, felipealmeida, YOhoho

Reviewed By: brunobelo

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8405

Differential Revision: https://phab.enlightenment.org/D10696
2019-11-20 18:34:08 -03:00
Bruno da Silva Belo 6772a78d02 csharp: Specifying StringComparison.
Summary: ref T8405

Reviewers: lauromoura, felipealmeida, YOhoho, segfaultxavi

Reviewed By: lauromoura

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8405

Differential Revision: https://phab.enlightenment.org/D10650
2019-11-20 17:47:44 -03:00
Stefan Schmidt 9f67ad59b0 tooling: add configuration file for lgtm.com service
It seems they run this on many Github projects automatically now:
https://lgtm.com/projects/g/Enlightenment/efl

From my playing around it had 970 "recommendations" to fix our FIXME
tags. Filtering out this noise by using this config file to exclude the
query.

It also seems to pick up the python scripts as Python2 and has wrong
reporting due to this as well.

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10699
2019-11-20 10:30:19 +01: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 80e58dd79a evas: migrate the vg json example
Summary:
i was not able to run the example before this commit, nor after this
commit. However, i had to migrate this, as i want to remove the player
object.
Depends on D10637

Reviewers: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Reviewed-by: Hermet Park <hermetpark@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10666
2019-11-20 10:03:47 +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 0792d042e5 elementary: move away from normal player to the new animation mixin
the mixin can handle the same things as the player. Additionally, the
usage of the mixin simplifies the animation usage alot.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10636
2019-11-20 09:58:27 +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
Lauro Moura b1eb794a91 csharp: Fix CA1815 for generated structs and aliases
Summary: Adds IEquatable<T> and friends.

Reviewers: felipealmeida, YOhoho, brunobelo

Reviewed By: brunobelo

Subscribers: cedric, #reviewers, segfaultxavi, #committers

Tags: #efl

Maniphest Tasks: T8418

Differential Revision: https://phab.enlightenment.org/D10694
2019-11-19 21:49:35 -03: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 8195368929 tests/ecore_wl2: Add test for ecore_wl2_window_type functions
ref T8016
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
Christopher Michael dd74c6ed35 tests/ecore_wl2: Add test for ecore_wl2_window_geometry functions
ref T8016
2019-11-19 08:37:29 -05:00
Xavi Artigas 36c70ee932 docs: Copy all images to output folder
Summary:
Doxygen only copies to the output folder ("html") images included through
the \image tag. However, we have several images included using \htmlonly
blocks with <img> tags inside, which also need copying.
Old makefiles included code to manually copy all pngs, and this patch does
the same for meson.
I apologize for needing an external script just to run "cp -rf", it looks
like meson does not allow wildcards passed to "cp".
Files not in the output folder won't be included in the tarball and won't
be distributed.

Test Plan:
Generated documentation now includes images for pages like:
`group__Eina__List__Group.html#details`

Reviewers: bu5hm4n, lauromoura

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers, myoungwoon

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10690
2019-11-19 12:08:02 +01: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
Lauro Moura 2c5ea739e7 csharp: Add IEquatable on classes.
Summary: ref T8418

Reviewers: lauromoura, felipealmeida, segfaultxavi, YOhoho

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8418

Differential Revision: https://phab.enlightenment.org/D10647
2019-11-19 01:34:15 -03: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