Commit Graph

29466 Commits

Author SHA1 Message Date
Marcel Hollerbach eaf2a8d7ec efl_ui_collection: do not leak
this fixes leaking of membership to a pan object, additionally this also
fixes the leaking of the pan object. This code was written with the
thought that edje deletes its children, long story short: no it does
not. While fixing the leak of the pan object, the error was found that
the membership of the item to the pan object was leaked, which ended up
in the item beeing deleted, even if its not part of the object anymore.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10841
2019-12-13 09:32:58 -08:00
Marcel Hollerbach e81dc6a02b efl_ui_scroller: free pan object correctly
we need to free the object in the invalidate, not in the destructor.
Otherwise we might leak objects in bindings.

Reviewed-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10840
2019-12-13 09:32:57 -08:00
Marcel Hollerbach 3a712e2497 collection_view: free pan object correctly
edje will not take over this part, edje will just reparent it to the ML
and go on.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10839
2019-12-13 09:32:54 -08:00
Marcel Hollerbach 7a72796920 efl_ui_pan: stop leaking content
pans implementation of Efl.Content is different to each other
implementation, setting the content to NULL is not really deleting the
obejct, since this is done at those widgets that are actaully using the
pan. This is weird and fine in the same way, as the pan is only
internal. However, when we are shutting down, we must free the content
here.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10838
2019-12-13 09:32:53 -08:00
Ali Alzyod abc1cb0043 efl_canvas_textblock: multiline enabled by default
Reviewers: segfaultxavi

Reviewed By: segfaultxavi

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

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10859
2019-12-13 16:35:07 +01:00
Xavi Artigas 905020bc7c elm_test: Remove unused variable in test_win_stack 2019-12-13 12:37:27 +01:00
Hermet Park 4f99f9f2bf evas vg: revise buffer caching method.
for better precise buffer cache key,
We make a unique key name combining root node + size + frame index.

Now, we can reuse the root node for animation and caching buffers.
2019-12-13 17:25:26 +09:00
Ali Alzyod 3372a701d3 efl_canvas_text: event emitting
Summary:
1- Emitting changed event when adding text using cursors.
2- remove attribute,changed event since it is not used now
3- Emitting layout,finished event when finish layouting

Reviewers: woohyun, cedric, bu5hm4n

Reviewed By: cedric

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10834
2019-12-13 15:10:32 +09:00
Hermet Park 181ec112f6 evas vg: fix memory corruption for user entry.
Container must have a set parent after construction.
efl_add_ref() with a parent won't work this case
because container needs some jobs in overriding parent_set() after proper intialization.
2019-12-13 11:55:32 +09:00
WooHyun Jung 4efaebfc70 efl_ui_internal_text_interactive: prevent from freed memory accessing
If node_format_remove_pair frees node, then next for loop can lead
invalid memory accessing. This patch prevents from that case by keeping
the next node before freeing.
2019-12-13 10:33:00 +09:00
Lauro Moura deb4cc8965 csharp: This test requires Beta stuff 2019-12-12 19:38:42 -03:00
Xavi Artigas bd0231e98b eolian_mono: proper parsing of doc notes and paragraphs
Summary:
The documentation tokenizer relies on proper separation of paragraphs,
and we were not doing that. This fixes detection of Note:, Warning:,
Remark: and TODO: tags.
Additionally, we were removing the blank line between the summary and
the description, artificially joining them.

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

Reviewers: lauromoura

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

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

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

Ref T8489.

Reviewers: brunobelo, lauromoura, segfaultxavi

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8489

Differential Revision: https://phab.enlightenment.org/D10809
2019-12-12 18:45:20 -03:00
Yeongjong Lee 4c77ee6843 efl_ui: cleanup elm headers
since e2980cd981, `efl.ui.text` doesn't need
`elm_general.h`.

This partially reverts commit 96be3cd83d.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10849
2019-12-12 10:20:31 -08:00
junsu choi 55d987b418 elementary_test: Fix efl_add_ref to efl_add for window autodel
Fix this error message
ERR<15404>:eo ../src/lib/eo/eo_base_class.c:710 efl_del()
 Calling efl_del on object Efl.Ui.Win@0x400000a4b774[2]:hidden:children=0:'(null)':'(null)' with
 no parent is not advised any more.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10863
2019-12-12 10:20:29 -08:00
João Paulo Taylor Ienczak Zanette e617ff441a csharp: Add implicit conversion from tuples to structs.
Summary:
Also generates implicit conversion for 1-field structs.
Usage examples:

```
// With tuples
Point2D p = (1, 2);
obj.SetPoint((1, 2));

// With 1-field structs
StringWrapper sw = "Must be handled by wrapper.";
```

Due to limitations of MSC compiler, implicit conversions are generated
only if struct has 4 fields or less.

Ref T8489.

Reviewers: brunobelo, cedric, lauromoura, segfaultxavi

Reviewed By: lauromoura

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8489

Differential Revision: https://phab.enlightenment.org/D10801
2019-12-12 13:16:22 -03:00
Xavi Artigas 8a2ccfefe1 mono: suppress unused parameter warning 2019-12-12 16:38:04 +01:00
Xavi Artigas 0e46ecb003 mono-docs: Nicer formatting for notes
This has never been tested because so far EO "Note:" tags are only recognized
when they appear at the beginning of a comment block.
It turns out the note already includes the "Note:" prefix so we were adding it
twice.
This patch removes one of the prefixes and used a nicer formatting.

Also works for "Warning:", "Remark:" and "TODO:".
2019-12-12 16:25:43 +01:00
Xavi Artigas 8378b854a1 mono-docs: Allow property refs with keys
When an EO property had multiple values or keys the C# generator
didn't generate a wrapping C# property. Therefore property references
in the documentation were changed to references to the getter.
Now multiple values are handled through tuples so the wrapping properties
ARE generated.
This patch removes the restriction for multiple values to doc refs
can more naturally reference the property instead of the getter method.
Properties with keys still reference the getter, since these are not wrapped.
2019-12-12 16:02:14 +01:00
Ali Alzyod 2d76224918 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: raster, bu5hm4n, subodh6129, herdsman, segfaultxavi, zmike, cedric, #committers, #reviewers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9053
2019-12-12 16:22:12 +09:00
Yeongjong Lee c62a7dae63 csharp: remove Efl.IText.Text from the blacklist
Summary:
There is no conflict anymore.

ref T8093

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

Reviewers: lauromoura, woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8093

Differential Revision: https://phab.enlightenment.org/D10861
2019-12-12 16:07:41 +09:00
Ali Alzyod 8f87a2411a 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

Reviewed By: woohyun

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

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9280
2019-12-12 14:22:46 +09:00
Bruno da Silva Belo 8fabc422b6 c#: Implement IList<T> to Eina.List.
Summary:
Container can have three configuration over `Own` and `OwnContent`:
`Own = true` and `OwnContent = true`;
`Own = true` and `OwnContent = false`;
`Own = false`and `OwnContent = false;
If someone try to instanciate the container with `Own = false` and `OwnContent = true`, a exception raises.

There is two Ownerships' behaviours in c#, where `IsReadOnly` is responsible and `IsReadOnly = !OwnContent`:
Full Ownership: User can use modify/Add/Remove operations over the container, this is implemented with `OwnContent = true`.
No Ownership: User **cannot** use modify/Add/Remove operations, this is implemented with `OwnContent = false`.

For the memory, `Own` frees the node, while `OwnContent` frees the data portion.
ref T8487

Reviewers: lauromoura, felipealmeida, YOhoho, segfaultxavi, jptiz

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8487

Differential Revision: https://phab.enlightenment.org/D10742
2019-12-11 18:58:20 -03:00
Marcel Hollerbach 42f56d0a0a efl_ui_popup: do not leak the backwall part
freeing it in the destructor is not enough. This has to be done at the
invalidator stage, otherwise bindings might have a blocking element on
the screen for the time the object is not gargabe collected.

Reviewed-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
Differential Revision: https://phab.enlightenment.org/D10837
2019-12-11 11:11:05 -08:00
Xavi Artigas e097df4164 elementary_test: Add Canvas.Textblock style test
This test accepts a style string (as defined in the style_apply method)
and continuously applies it to a sample text block.
Useful for debugging Efl.Canvas.Textblock styles.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10853
2019-12-11 11:11:04 -08:00
Woochanlee 0902bb4e01 eina_rbtree: Clean array intead of flush.
It doesn't have to flush all of the time when it iterating.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10858
2019-12-11 09:59:59 -08:00
Carsten Haitzler cf9b1fda05 ecore exe - remove useless fd closing before _exit()
we call _exit() right after closing some fd's - don't bother. they
might already be closed anyway and they will all be closed at exit
either way...
2019-12-11 15:28:12 +00:00
Stefan Schmidt 5888c7ee00 eeze: remove tizen module support from eeze sensor
This has been disabled since the move to meson and unlikely to have
built before with autotools either. Tizen never adopted this so we can
ease our maintenance burden here.

The Eeze sensor API itself is EAPI sadly and can't be removed. We will
keep the udev backend (temperature only) and the fake backend for
testing for now.

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10805
2019-12-11 13:46:31 +01:00
Ali Alzyod 29438a5454 efl_ui_text: unit test
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10776
2019-12-11 11:45:52 +01:00
Cedric BAIL 8331ea048c elementary: improve data layout for Efl.Ui.PositionManager*.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10688
2019-12-11 11:12:06 +01:00
Cedric BAIL 2b324779c9 elementary: reduce events triggered by Efl.Ui.PositionManager.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10687
2019-12-11 11:12:01 +01:00
Cedric BAIL d62e2585bb elementary: reduce event trigger during object creation stage in Efl.Ui.CollectionView.
Once the object are created, the CollectionView will do a few modifiction on them before
giving this object to the position manager to deal with. Reducing events should slightly
improve performance.

Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10686
2019-12-11 11:11:57 +01:00
Cedric BAIL b9e0d25a4c elementary: reduce event generation during object creation by Efl.Ui.WidgetFactory.
We can not freeze the canvas in all scenario as we are sometime building widget fully
asynchronously which prevent holding events on the canvas. Still it is better to do it
for the case we can.

Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10685
2019-12-11 11:11:52 +01:00
Marcel Hollerbach 5cb8e4a3e7 eo: add a tcase for testing forwarders
this just adds the newly introduced semantics from cedric.
2019-12-11 10:36:17 +01:00
Cedric BAIL 330b72bc6a evas: do not call Eina_Cow GC during invalidate it is pointless.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10818
2019-12-11 10:36:17 +01:00
Cedric BAIL e4765e3806 eina: introduce an explicit eina_cow_done with no call to GC.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10817
2019-12-11 10:36:14 +01:00
Cedric BAIL 939b0f1a9c evas: avoid unecessary Eina_Cow GC during image destruction.
If the stretch zone are NULL to start with, there is no reason to modify
them and this should avoid us a trip to the GC.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10816
2019-12-11 10:36:11 +01:00
Cedric BAIL 119cb085fa evas: reduce useless allocation during destruction of image.
Evas image use a GC to reduce duplicated state accross multiple object.
Still during shutdown we do clean it up and free it. There is no point
to push that down the GC if we are to just free it after. Relying on
the fact that dynamic content will avoid triggering the GC altogether
as their content change to frequently and is expected to be uniq among
other objects, we can avoid unecessary allocation during the destruction
by just switching that early on during the destructor.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10815
2019-12-11 10:36:08 +01:00
Cedric BAIL 574d1192bb evas: efl_gfx_image_stretch_region_set need access to image state before it is freed.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10814
2019-12-11 10:36:05 +01:00
Cedric BAIL 115a9a22b1 eo: only forward event if someone is listening.
This limit long chain of useless event forwarding when nobody is listening
at the end of the pipe.

Differential Revision: https://phab.enlightenment.org/D10813
2019-12-11 10:36:02 +01:00
Woochanlee 6830414e95 edje_entry: Fix resource leak.
Reviewers: Jaehyun_Cho, Hermet, ali.alzyod

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10854
2019-12-11 15:49:44 +09:00
Ali Alzyod 3359e03500 efl.ui.text: rename to efl.ui.textbox
Summary:
This patch will rename efl.ui.text into efl.ui.textbox

Effected classes:
 - efl.ui.text_async   :  efl.ui.textbox_async
 - efl.ui.text_editable   :  efl.ui.textbox_editable **will be removed anyway**

Needs consider Classes:
- efl.ui.text_part
- efl.ui.text_factory.Emoticons
- efl.ui.text_factory.Fallback
- efl.ui.text_factory.Images

Reviewers: woohyun, segfaultxavi, bu5hm4n, zmike, YOhoho

Reviewed By: woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10835
2019-12-11 09:47:50 +09:00
junsu choi ab67611c65 eina_inline: Fixed a potential dangling pointer
Summary: fixed by null handling

Test Plan: N/A

Reviewers: Hermet, YOhoho, cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10850
2019-12-11 09:27:10 +09:00
Lauro Moura 271b56889f csharp: Removed duplicated call_match implementations
Summary:
Small refactor. Keep it in a single header that other files could use.

Ref T8515

Reviewers: brunobelo, felipealmeida, jptiz

Reviewed By: jptiz

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8515

Differential Revision: https://phab.enlightenment.org/D10852
2019-12-10 15:05:43 -03:00
Ali Alzyod 4318fe1254 ector: Fix build warning about unused variable
Reviewers: bu5hm4n, Hermet, devilhorns

Reviewed By: devilhorns

Subscribers: devilhorns, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10851
2019-12-10 12:03:01 -05:00
Wonki Kim a8d7816782 docs: fix to make docs contain proper images
Summary:
links to images that this patch is modifying would be included in doxy docs
without pre or post process something in meson definition, if we applied this patch.

Reviewers: segfaultxavi, bu5hm4n

Reviewed By: segfaultxavi

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10821
2019-12-10 12:53:39 +01:00
junsu choi cbd02d3d51 Example: enhance efl-canvas-vg-simple
Summary:
- Use path reserve
- Use container object

Test Plan: ./build/src/examples/evas/efl-canvas-vg-simple

Reviewers: Hermet, kimcinoo, smohanty

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10830
2019-12-10 19:18:53 +09:00
Ali Alzyod 33af599128 efl_ui_text_editable: remove class
Summary:
This class is the same as efl_ui_text, efl_ui_text is editable by default.
This class should be removed

Reviewers: woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10831
2019-12-10 19:00:34 +09:00
Ali Alzyod 621d2cdecf Efl.Canvas.Text rename into Efl.Canvas.Textblock
Summary:
Efl.Canvas.Text                renamed into **Efl.Canvas.Textblock**
Efl.Canvas.Text_Factory  renamed into **Efl.Canvas.Textblock_Factory**

Reviewers: woohyun, segfaultxavi, zmike, bu5hm4n, YOhoho

Reviewed By: segfaultxavi

Subscribers: cedric, #committers, #reviewers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10808
2019-12-10 17:39:59 +09:00
Lauro Moura f793939315 csharp: Refactor annotation selection function
Summary:
Better names to convey their intent and formatting.

Removing the hardcoded `return` from them will also free the return list
to be used for `@out` parameters as they have similar semantics to
`return`, different from regular `@in` parameters. This change in
behavior will come in a future commit, and explains why are are keeping
both lists for now despite being essentially the same.

Ref T8515

Test Plan: Run existing tests

Reviewers: felipealmeida, brunobelo, jptiz, YOhoho

Reviewed By: jptiz

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8515

Differential Revision: https://phab.enlightenment.org/D10827
2019-12-09 16:40:13 -03:00
Yeongjong Lee 06c2bbf798 eolian_mono: reduce duplicated code in OnXXXEvent
Summary:
`CallNativeEventCallback` is used to reduce duplicated code.

E.g.

Before
```
protected virtual void OnFullscreenChangedEvent(Efl.Ui.WinFullscreenChangedEventArgs e)
{
    var key = "_EFL_UI_WIN_EVENT_FULLSCREEN_CHANGED";
    IntPtr desc = Efl.EventDescription.GetNative(efl.Libs.Elementary, key);
    if (desc == IntPtr.Zero)
    {
        Eina.Log.Error($"Failed to get native event {key}");
        return;
    }

    IntPtr info = Eina.PrimitiveConversion.ManagedToPointerAlloc(e.arg ? (byte) 1 : (byte) 0);
    try
    {
        Efl.Eo.Globals.efl_event_callback_call(this.NativeHandle, desc, info);
    }
    finally
    {
        Marshal.FreeHGlobal(info);
    }
}
```

After
```
protected virtual void OnFullscreenChangedEvent(Efl.Ui.WinFullscreenChangedEventArgs e)
{
    IntPtr info = Eina.PrimitiveConversion.ManagedToPointerAlloc(e.arg ? (byte) 1 : (byte) 0);
    CallNativeEventCallback("elementary", "_EFL_UI_WIN_EVENT_FULLSCREEN_CHANGED", info, (p) => Marshal.FreeHGlobal(p));
}
```

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

Reviewers: lauromoura

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10661
2019-12-09 13:56:19 -03:00
Yeongjong Lee 5448c43bab eolian_mono: remove unused EventArgs parameter of OnXXXEvent
Summary:
if a event doesn't have `EventArgs`, parameter `EventArgs e` of its OnXXXEvent
is naver used.

ref T8414

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

Reviewers: lauromoura

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8414

Differential Revision: https://phab.enlightenment.org/D10656
2019-12-09 13:35:53 -03:00
Stefan Schmidt 31f1a20d0c ecore_x: fix unused parameter warnings after xgesture removal
Summary:
I somehow missed these warnings when doing the removal patch. Should
have spotted them. :(

Reviewers: devilhorns, raster, bu5hm4n, segfaultxavi, vtorri

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10833
2019-12-09 10:05:38 -05:00
Stefan Schmidt 4ff8fb140c elocation: remove beta library
This has never been fully finished or really used. The GeoClue project
dbus API moved on to a newer version as well. We still have it marked as
beta so we should take the chance and get rid of it to cleanup our tree
a little bit.

Reviewed-by: Chris Michael <cp.michael@samsung.com>
Reviewed-by: Vincent Torri <vincent.torri@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10788
2019-12-09 15:31:00 +01:00
Woochanlee 431f3b1fce tests/ecore_wl2: Add test for ecore_wl2_window_role functions
Summary:
tests/ecore_wl2: Add test for ecore_wl2_window_class functions

ref T8016

Reviewers: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8016

Differential Revision: https://phab.enlightenment.org/D10829
2019-12-09 07:57:31 -05:00
Bruno da Silva Belo 6d62f66c08 c#: Suppressing warning for CA1724.
Summary: ref T8413

Reviewers: lauromoura, felipealmeida, YOhoho, jptiz

Reviewed By: jptiz

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8413

Differential Revision: https://phab.enlightenment.org/D10811
2019-12-09 08:33:52 -03:00
Lauro Moura 25e2ed3b2f csharp: changing string literal with nameof.
Summary: ref T8407

Reviewers: lauromoura, felipealmeida, YOhoho, jptiz

Reviewed By: jptiz

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8407

Differential Revision: https://phab.enlightenment.org/D10668
2019-12-09 08:33:00 -03:00
Lauro Moura ed43683955 csharp: Marking property with static.
Summary: ref T8420

Reviewers: lauromoura, felipealmeida, YOhoho, jptiz

Reviewed By: jptiz

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8420

Differential Revision: https://phab.enlightenment.org/D10657
2019-12-09 08:24:00 -03:00
Xavi Artigas 39758346ef Efl.Ui.Internal_Text_Interactive: missed renames from previous commit 2019-12-09 11:04:56 +01:00
Ali Alzyod 9c67a71e00 efl_text_cursor: rename enums
Summary:
rename two movement enums

**paragraph_first**: to just **first**  this will move the cursor to the beginning of the text

**paragraph_last**: to just **last**  this will move the cursor to the end of the text

These two are not directly related to paragraph the will move the cursor depending on the whole content

or maybe **start** and **end**  what do you think ?

Reviewers: woohyun, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10810
2019-12-09 10:54:48 +01:00
Hermet Park f8d9dfd74b evas vg: ++documentation 2019-12-09 15:41:33 +09:00
Ali Alzyod c00db387c3 Efl.Ui.Text : all related interfaces
Summary:
Change summary:

Removed :
- efl_ui_text_selectable.eo and add it functionality into efl_text_interactive.eo
- efl_ui_text_editable.eo because it is same as efl_ui_text.eo (just set one property by default)

Modifications:
- Move all Text Input enums and functionality from efl_ui_text class into its own interface,  this interface will be implemented at efl_ui_internal_text_interactive class.

- Rename selection_allowed property to selectable (same as other "editable" property) in efl_text_interactive

- Add select_all function into efl_text_interactive interface

- Add have_selection property into efl_text_interactive interface

- Move user_change , selection_start/change/clear   and undo/redo events into efl_text_interactive interface.

- Move methods and events of copy/paste/cut into efl_ui_text

- Fix password-related functionality

- Remove context menu clear and add_item methods.  (these should be added later with better design)

- Remove Validation event from EFL_UI_TEXT.  (these should be added later with better design)

Reviewers: woohyun, tasn, segfaultxavi, zmike, bu5hm4n

Subscribers: stefan_schmidt, a.srour, q66, zmike, segfaultxavi, cedric

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10711
2019-12-09 10:58:39 +09:00
Ali Alzyod 25900bee0f evas_text: retain legacy behaviour
This will retain old legacy behaviour (No Eina Checks).

Warnings will be generated when using elementary test, unless we retain old behaviour
https://phab.enlightenment.org/D10716#203305

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10826
2019-12-06 15:26:40 -08:00
Carsten Haitzler 19f6be78c4 imf - make xim+scim the defaults not xim+ibus due to ibus being broken
at leats ibus seems to just not work for me on arch at least  - even
with gtk apps, but scim does, so maybe make scim the main thing again?
also allows glib to be off by default. :)
2019-12-06 20:56:07 +00:00
Stefan Schmidt fd6d03025a ecore_x: remove support XGesture extension
Summary:
This was a X11 extension mainly developed for Tizen. By now I can only
find it packaged by Gentoo as the only Linux distribution and Tizen is
now longer using it either. Bringing it up during EDD and on the mailing
list did not come up with any users.
I think we can go ahead and deprecate the API and remove the
functionality.

Reviewers: raster, cedric, devilhorns, zmike

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10823
2019-12-06 14:40:55 -05:00
Marcel Hollerbach c33aaf32a8 elm_code: set box align correctly
sometimes the resize size is not in line with the size of the outer
widget, in this case the box should align its children at the very top,
otherwise the cursor grid is falling out of sync with the text content.
2019-12-06 19:19:38 +01:00
Jaehyun Cho cb817caa80 efl_canvas_object_animation: support duration 0
The duration of animation means how long the animation is executed.
Therefore, if duration is 0, then the final state of animation should be
applied to the target object immediately.

In this case, if final_state_keep is true, then the final state of
animation is preserved. Otherwise, the final state of animation is not
preserved.

ref T8436, T8513

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10812
2019-12-06 18:04:07 +01:00
Lauro Moura 4398ec7b3b elementary: Fix declaration of CV managers getters
This should convey better their intention of the setting taking
ownership of the passed value and the getter returning just a view to
them.

Fixes T8514

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10824
2019-12-06 16:55:09 +01:00
Yeongjong Lee 519430e204 efl: stabilize Efl.Gfx.Arrangement
ref T7864

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10642
2019-12-06 15:51:03 +01:00
Wonki Kim 2c515628d3 focus: modify a formula to calculate focus region to show
if there was a spacer around elm.swallow.content of scroller,
position of pan object would be different with position of the scroller obj.

this patch modifies a fomular that calculates some points relative to scroller
to a fomular that calculates the points relative to pan obj.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10745
2019-12-06 15:35:50 +01:00
Wonki Kim 1aa5b0c2e8 collection_view: fix a potentional error
assign signed int value on bigger unsigned variable
can make information of the varaible lost.
this patch fix the problem.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10723
2019-12-06 15:35:46 +01:00
Hermet Park 830bd4e26d evas vector: add one comment todo. 2019-12-06 18:59:38 +09:00
Taehyub Kim 6358d5e927 efl_ui_alert_popup: remove beta for efl_ui_alert_popup_title
Summary: remove the title part beta tag for the efl ui alert popup

Reviewers: Jaehyun_Cho, zmike, bu5hm4n, segfaultxavi

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10820
2019-12-06 17:49:52 +09:00
junsu choi caf15e780b Example: Add efl-cavnas-vg-simple for unified API
Summary: Add Evas vector graphcis example based on unified APIs

Test Plan:
build
./build/src/examples/evas/efl-canvas-vg-simple

Reviewers: Hermet, kimcinoo, smohanty

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10819
2019-12-06 16:51:07 +09:00
junsu choi 062782d470 evas vg: remove build warning
Remove parameter already deleted
2019-12-06 15:58:35 +09:00
Hermet Park 885967523b evas vg: --remove log 2019-12-06 15:31:35 +09:00
Hermet Park 19ef155526 vg ector: Call a pair of ector begin/end for ector buffer drawing.
While we render vector drawing on ector,it uses ector buffers for subsequent compositions.
In this sequence, it switches ector buffer with a composition target,
while resuing the global ector context.

Previously, it trickly switched ector buffer, it broke the ector begin/end pair.
Now, it needs to recover global ector buffer once the composition finished.
Thus ector buffer need to return the current pixels information for this.
2019-12-06 15:31:30 +09:00
junsu choi 562ae738cc ector_software_rasterizer: use dynamic array by span size.
Summary:
When use with intersect mask, if span_count over span array size, composition is to be wrong.
So, In this case, we use dynamic array by span_count.

Test Plan: N/A

Reviewers: Hermet, smohanty, kimcinoo

Reviewed By: Hermet

Subscribers: vtorri, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10748
2019-12-06 10:37:31 +09:00
junsu choi c86f77ff6e elm_label: Emit click signal on acivate action on label
Summary: In accessibility enabled case click signal of legacy label is not triggered.

Test Plan: N/A

Reviewers: Hermet, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10803
2019-12-06 10:30:34 +09:00
Hosang Kim 6e49a94c0e evas_events: fix wrong condition of proxy event behavior.
Summary:
If source_events is false, Evas object doesn't repeat events to source.
But events is always repeated to source in multi touch case.

Reviewers: Hermet, raster, cedric

Reviewed By: Hermet

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10807
2019-12-06 10:21:35 +09:00
junsu choi c1f3ad86df Ector: Prevent access to NULL
Summary: ector thread can called *data(task) after deleting task object.

Test Plan: N/A

Reviewers: Hermet, kimcinoo, smohanty

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10804
2019-12-05 20:25:26 +09:00
Ali Alzyod a5837cb4ed efl_text_attribute_factory: update documention
Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10806
2019-12-05 10:41:11 +01:00
Mike Blumenkrantz d8fb0b049a elm/genlist: trigger pan recalcs in update_job and item del functions
in cases where the pan may change as a result of item size recalcs,
it's necessary to ensure that the pan object is recalculated

ref D10663

Differential Revision: https://phab.enlightenment.org/D10752
2019-12-04 12:21:28 -08:00
Stefan Schmidt d0f69cf2e2 exotic: remove left-overs from Exotic support
This seems to have been gone a long time ago and only references left
that have not been disturbing the build. Time to clean up!

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10793
2019-12-04 12:21:28 -08:00
Subodh Kumar f86dbae7e3 edje: Add text change signal
There is no way to know about text changes in edc.
This signal will help developer to know about text changes
and do some operation based on that.

@feature

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

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10780
2019-12-04 12:21:26 -08:00
Stefan Schmidt b8dc80c144 emotion & evas: remove gstreamer 0.10 support
We have Gstreamer 1.x support for a long time already. We used to keep
this around as fallback. By now Linux distributions start to actually no
longer ship the Gstreamer 0.10.x packages and upstream has not seen a
release in in 5 years. Time to remove it on our side as well.

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10779
2019-12-04 12:21:25 -08:00
Stefan Schmidt f3d9b8ee70 esacpe: remove library from tree
This has not been used for a while and is not even buildable after our
switch to meson. It was a niche to start with given that it needed the
PS3 OS to run on. I asked for any remaining users at EDD and on the list
but heard nothing. Time to remove.

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10778
2019-12-04 12:21:24 -08:00
Cedric BAIL 003ce06e85 elementary: small improvement on example migrating them to newer unified API. 2019-12-04 12:21:23 -08:00
Xavi Artigas b04a7ed4f4 code comments: annoying typos 2019-12-04 18:22:25 +01:00
Marcel Hollerbach 76fa7184a4 efl_canvas_animation_group: show that playing backwards is also working
Summary:
playing backwards is also working, this is simply shown here, the
handcrafted backwards animation wasnt showing the correct animation
either.
Depends on D10799

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10802
2019-12-04 17:52:51 +01:00
Xavi Artigas b179e397d6 Efl.Canvas.Animation: Rename repeat_count to play_count
Summary:
play_count is a tad simpler to understand, since it means the TOTAL number of
times the animation will play.
The default value is now 1, and 0 means INFINITE (instead of -1). This allows
removing yet another constant from header files.

Depends on D10799

Test Plan: Everything builds and passes tests. Elm_test Animation.Repeat has been adjusted accordingly.

Reviewers: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10800
2019-12-04 17:43:31 +01:00
Lauro Moura 44b5324259 charp: Require mono bindings when using dotnet
Allow using `-Ddotnet=true` to automatically pull `bindings=mono`.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10610
2019-12-04 17:09:06 +01:00
junsu choi a8417668bc tests/layout: add unit test for legacy layout theme,changed signal
split from D10744

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10751
2019-12-04 16:48:05 +01:00
Mike Blumenkrantz 22b005ea8a efl_ui/layout: unconditionally emit theme,changed event for legacy layouts
this will automatically be optimized by smart callback internals and fix
emission of this event

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10750
2019-12-04 16:48:01 +01:00
Mike Blumenkrantz d434bee31b tests/layout: add explicit test for implicit theme,changed emission
this must be emitted automatically during finalize if theme_set is
not directly called during construction

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10741
2019-12-04 16:47:55 +01:00
Mike Blumenkrantz d54ba94214 tests/layout: validate EFL_UI_LAYOUT_EVENT_THEME_CHANGED emission in theme test
ensure that this callback is emitted exactly one time if the theme is
set during construction

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10740
2019-12-04 16:47:48 +01:00
Mike Blumenkrantz 8729c4b0b5 tests/layout: fix theme apply test for layout object
the group previously used (efl/win/background) no longer exists, and
this test never verified that the theme_set call succeeded so this has
been failing silently for a long time

now we check and verify that the call succeeds in addition to using a
valid group

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10739
2019-12-04 16:47:43 +01:00
Mike Blumenkrantz 3f7a63149a efl_ui/layout: fix multiple emissions of theme,changed during construction
in the case where a layout object was created and had a theme manually set
with efl_ui_layout_theme_set() during construction, the layout would then
call theme_apply() a second time internally during finalize which, if the
theme has not changed (as can only be the case if this flag is unset),
results in a repeated theme_apply for the existing theme

@fix

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10738
2019-12-04 16:47:40 +01:00
Mike Blumenkrantz e9281cf124 efl_ui/layout: fix typo in theme,changed event checking and fix this event
this was a copy/paste error

ref 7ad8acc290

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10737
2019-12-04 16:47:37 +01:00
Marcel Hollerbach 20699d7f61 efl_ui_radio_box: declare stable
this was forgotten, the task for it (T8026) was even closed.

Differential Revision: https://phab.enlightenment.org/D10786
2019-12-04 16:47:33 +01:00
Marcel Hollerbach 655472d9c9 efl_ui_mutli_selectable: stabelize interfaces
these classes are after a long naming discussion stable.

fixes T7871
fixes T8265
fixes T7922

Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Differential Revision: https://phab.enlightenment.org/D10734
2019-12-04 16:47:32 +01:00
Marcel Hollerbach a6c102df1f efl_canvas_animation_group: remove implicit children behaviour
you could set the duration of the group to all children, however, the
default behaviour was to not do that. This is however a bit probeblatic,
and needs to be more expclicit. If this is needed again, then this can
be reintroduced, however, not in this form.

ref T8437
Depends on D10798

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D10799
2019-12-04 16:30:50 +01:00
Marcel Hollerbach 752855825d remove unsued macros
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D10798
2019-12-04 16:30:47 +01:00
Marcel Hollerbach fc7d398e07 efl_canvas_animation: use floating point infinite instead of macro
the floating point infinite builtin should also work cross languages (so
this is better for bindings).

ref T8437

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D10797
2019-12-04 16:30:44 +01:00
Marcel Hollerbach a29be18b5f efl_canvas_animation: add a standard value for duration of animations
before this commit the standard time was 0, which results in no
animation played at all. Now its 0.2 and a app that does not like it can
adjust it.

ref T8436

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D10796
2019-12-04 16:30:40 +01:00
Marcel Hollerbach 10b631e7cb efl_canvas_animation_group: use @property instead of method
this also refreshes the documentation of all this.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D10795
2019-12-04 16:30:36 +01:00
Daniel Kolesa c601944a13 eolian: fix a parse bug where composites was treated as implements
In the specific case where you had "class A extends B composites C"
the correct composites branch was ignored and instead the implements
branch was used. This was entirely wrong/an oversight that did not
appear until now. Other combinations were handled correctly.
2019-12-04 16:07:09 +01:00
Xavi Artigas e242a05d73 docs: slight improvement for Efl.Decelerate_Interpolator 2019-12-04 15:58:04 +01:00
Daniel Kolesa c360f5edb6 eolian: account for entire inheritance trees when compositing
When a class composites an interface, we need to ignore all of
its extends (and extends of those) as well as the main interface
when doing API checks, as composites essentially provides a
guarantee that this *will* be implemented at runtime, which
further extends to the whole inheritance tree of that interface.

Fixes T8491.
2019-12-04 15:30:17 +01:00
Taehyub Kim 608c853b44 fix the wrong method signature for evas_textgrid
Summary:
fix the wrong method signature famliy font get and font size get for evas_textgrid
the method parameter should be changed to return type
@fix

Reviewers: Hermet, ali.alzyod, woohyun

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10794
2019-12-04 19:15:03 +09:00
Marcel Hollerbach 8daaab65fa efl_canvas_animation_group: move from list to iterator
we should not use lists directly, ownership issues etc. etc..
This moves it to iterators

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D10787
2019-12-04 10:29:55 +01:00
Bowon Ryu 8cb0b193ea edje_entry: converting plain_text to '*' using unicode units.
Summary:
When converting plain_text to '*' in retrieve_surrounding_cb,
always convert it to '*' in 1 byte unit.

For example,
2 byte character is converted to "* *"
and 3 byte character is converted to "* * *"

However, this does not match the number of '*' printed in the entry.
Because, '*' in the entry is printed according to number of unicode characters.

This patch converts plain_text into unicode units
when converting plain_text to '*'

Test Plan: N/A

Reviewers: woohyun

Reviewed By: woohyun

Subscribers: cedric, #reviewers, jihoon, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10792
2019-12-04 17:09:33 +09:00
Xavi Artigas da0a72bb70 Efl.Canvas.Gesture_Zoom: typo in docs 2019-12-03 18:04:10 +01:00
Woochanlee 7d40e03ca7 tests/ecore_wl2: Add test for ecore_wl2_window_title functions
Summary:
tests/ecore_wl2: Add test for ecore_wl2_window_title functions

ref T8016
ref D10743

Reviewers: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8016

Differential Revision: https://phab.enlightenment.org/D10761
2019-12-03 11:01:22 -05:00
Woochanlee 0bfdc94df8 tests/ecore_wl2: Add test for ecore_wl2_window_class functions
Summary:
tests/ecore_wl2: Add test for ecore_wl2_window_class functions

ref T8016
ref D10743

Reviewers: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8016

Differential Revision: https://phab.enlightenment.org/D10759
2019-12-03 10:54:10 -05:00
Christopher Michael b3ba134036 ecore-wl2: Move ecore_wl2_window_buffer_transform_set to be internal
This function is unused outside of EFL internals, so there is no need
for it to be a public API.

ref T8013
2019-12-03 10:47:32 -05:00
Christopher Michael 40b4c54467 ecore-wl2: Move ecore_wl2_window_buffer_attach to be internal
As this function is not used outside of EFL itself, it can be moved to
be internal and not an exposed API function

ref T8013
2019-12-03 10:40:21 -05:00
Xavi Artigas 3b8648257b Efl.Ui.Spotlight_Container: update docs after push/pop changes
Differential Revision: https://phab.enlightenment.org/D10784
2019-12-03 14:38:29 +01:00
Marcel Hollerbach 290526da75 efl_ui_spotlight_manager_stack: fix positioning
we also need to reemit the position of current active element. Otherwise
the indicator will display a wrong value.

This is already done in any other spotlight manager.

fixes T8499

Differential Revision: https://phab.enlightenment.org/D10782
2019-12-03 14:38:28 +01:00
Marcel Hollerbach d973bcc087 efl_ui_spotlight_container: reverse push and pop semantics
before this commit, push would add before the current element, pop would
return to the next higher element.
after this commit, push would add after the current element, pop would
return to the previous element.

ref T7991

Differential Revision: https://phab.enlightenment.org/D10781
2019-12-03 14:38:28 +01:00
Carsten Haitzler 7787b16e20 eina - threadqueue - revert series of comments that moved to mempools
Revert "eina: remove no longer used function _eina_thread_queue_msg_block_real_free"
This reverts commit 695b44526c.

Revert "eina/threadqueue: use mempool_del for hash free function"
This reverts commit b0cb3b935a.

Revert "eina_thread_queue: use normal mempools for block allocation"
This reverts commit 14ae3e3dec.

Why? Threadqueue is a highly performance sensitive API.
_eina_thread_queue_msg_block_new() may be called quite often. Doing a
hash lookup to then find a mempool handle to then allocate from was
not the same as what was there and was going to be far more costly.
This would have actual performance impact as we have to compute a hash
and rummage through a hash, hunt for an environment var too. The
original code looked at a spare block pool where blocks *MAY* be of
different sizes (not always the same size so using a mempool is
actually wrong and will stop threadqueue from being able to send
larger messages at all). If you send large messages, larger blocks would
have been allocated and put in this pool. In almost all cases the first
item in the pool would be big enough so we don't hunt and the find pulls
out the first memory, resets the fields that are needed and returns that
block. If it needs a bigger one, it does hunt. This is going to be
rare that such big blocks are needed so I never tried to optimize this
(but it could be done with an array of sizes to make a walk to find
the right sized element cheap if the need arises).

Performance dropped quite a lot. On aarch64 The above mempool usage
dropped message rate from 1037251 msg/sec to 610316. On x86 it was even
worse. It dropped from 2815775 msg/sec to 378653.

So backing this out sees the message rate is 7.4 times faster and on
aarch64 it's 1.7 times faster.

So moving to a mempool was actually just wrong (size is not always the
same). Also this ended up with a mempool of 64k for thread queue blocks even
if we only sent messages sporadically, as opposed to a single 4kb
block. So backing this out saves memory by only having 1 or 2 4k blocks
around most of the time, not a 64k mempool.

So the above patch then follow-on patches were done without accounting
for the performance implications. There were good reasons to do what I
did - because this code was highly tuned even to the point where I
used atomics instead of locks specifically to cut down some contention
overhead. Beware when you change something that there may be steep
performance implications. 7.4 times faster to go back to what was
there is a great example.
2019-12-03 11:45:42 +00:00
Stefan Schmidt 9e54556195 elementary_test: remove duplicated file
This file is identical with test_naviframe.c and has no reference in our
build system. Found by the use of the Duplo duplicated code checker
tool.

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10777
2019-12-03 10:32:55 +01:00
Woochanlee fc456d2b77 gesture_manager: Changed function param to reduce internal function calls.
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.

Reviewed-by: Hermet Park <hermetpark@gmail.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10437
2019-12-03 09:53:37 +01:00
Lauro Moura dfae8c5185 csharp: Simplify field_argument_assignment
Summary: Avoid extra generator calls.

Reviewers: jptiz

Reviewed By: jptiz

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10774
2019-12-02 17:01:43 -03:00
Carsten Haitzler 6b04e5f215 fix jpeg loading which freed the wrong ptr
fixes T8497
@fix
2019-12-02 19:54:25 +00:00
Chris Michael 00aaf99765 tests/ecore_wl2: Fix bad window test
Small patch to fix issue where merge of patch did not go so well, and
thus caused Coverity to report an issue where window was not being
initialized.

ref T8016

fixes CID1408311
2019-12-02 12:39:55 -05:00
Marcel Hollerbach 6d2a9ae1f8 introduce efl_ui_{pager/scroller}
They are just helpers, so a user does not need to handcreate spotlight
managers. This also leaves us the possibility of letting
spotlight_managers beeing @beta.

ref T7991

Differential Revision: https://phab.enlightenment.org/D10773
2019-12-02 18:30:26 +01:00
Marcel Hollerbach 509b1c8f6d efl_ui_test_spotlight: check correct transitions without animation
this introduces the test requested in D10701. And checks that all
signals are correctly delivered even if animations are frozen

Differential Revision: https://phab.enlightenment.org/D10767
2019-12-02 18:30:24 +01:00
Marcel Hollerbach 842e6e9c67 efl_ui_spotlight_container: bring in min / max handling
the spotlight now is setting the overall correct min and max size on
itself. Additionally, the page size is now clamped to the size of the
container.

Correct min size of the container is defined to the MAX min size of all
the content.
The correct max size of the container is defined to the MIN max size of
all the content.

ref T7991

Differential Revision: https://phab.enlightenment.org/D10766
2019-12-02 18:30:23 +01:00
Marcel Hollerbach 7033816554 efl_ui_spotlight: do not inherit from layout anymore
before we inherited from layout, however the theme of the layout was
basically just the event part, and the holder part for the indicator.
The indicator part is going to be refactored into something else
anyways, since the indicator should be useable on other widgets as well.
Which means, only the event part is left, which is only used by the
scroller spotlight manager, (and now moved there).

With the move from this away we are saving round about 0.2KB of pure
edje accounting. Additionally, we are saving in perf 4% that is spend in
_efl_canvas_layout_efl_gfx_entity_size_set, which also makes this less
CPU intensive when resizing (Or even just starting is also enough).

ref T7991

Differential Revision: https://phab.enlightenment.org/D10765
2019-12-02 18:30:22 +01:00
Marcel Hollerbach acfd031e47 efl_ui_spotlight_indicator: make this undependend from the main widget
the main widget before presented a layout to hold the indicator,
however, for the causual case, this is not really needed. The indicator
itself is anyways going to be a more general prupose widget soon, where
the layout here can be taken as an starting point.

Additionally, this fixes general displaying of the indicator, before the
box padding refactor, a padding would have changed the minsize of the
mix, this is not the case anymore, which forces us to calculate the
minsize of the indicator theme.

Differential Revision: https://phab.enlightenment.org/D10764
2019-12-02 18:30:20 +01:00
Marcel Hollerbach d51bdf3c77 efl_ui_spotlight: move event rectangle
for now the eventrect was a swallow part, created by the container, set
to the edje layout. However, the only real user for this is the scroll
spotlight manager.
Which means, we have mostly unneeded element resized by edje, which is
quite an overhead. With this commit, this is moved to the scroll
manager, which makes the usage with stack and plain less memory heavy.

Differential Revision: https://phab.enlightenment.org/D10763
2019-12-02 18:30:19 +01:00
Marcel Hollerbach a66f1130af efl_ui_spotlight: ensure correct positioning
if something is just repositioned, but not resized, it would not have
been placed correctly. This fixes that.

Differential Revision: https://phab.enlightenment.org/D10762
2019-12-02 18:30:18 +01:00
Ali Alzyod 5978d79858 efl_canvas_text: documentation for style set
Summary:
Depends on D10607

Original Material: https://www.enlightenment.org/_legacy_embed/evas_textblock_style_page.html

Reviewers: woohyun, segfaultxavi, AbdullehGhujeh

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10729
2019-12-02 18:07:19 +01:00
Marcel Hollerbach 05f68d98fb efl_part: declare stable
Summary:
last release we declared efl_part.eo stable. But we accidently forgot
efl_part()...

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10772
2019-12-02 16:41:51 +01:00
Woochanlee 12cb64cfad tests/ecore_wl2: Add test for ecore_wl2_window_aspect functions
Summary:
tests/ecore_wl2: Add test for ecore_wl2_window_aspect functions

ref T8016
ref D10743

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8016

Differential Revision: https://phab.enlightenment.org/D10747
2019-12-02 08:53:47 -05:00
Woochanlee 6162914be5 ecore_wl2: Add APIs to get window properies.
Summary: Creates APIs to get property.

Reviewers: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10743
2019-12-02 08:50:24 -05:00
Hermet Park 1cb7d11ea8 Revert "Revert "evas map: diable high quality texture mapping feature.""
This reverts commit 94c193e40b.
2019-12-02 20:41:14 +09:00
Daniel Kolesa cf3ec7473b eolian_gen: fix fallback 0 default values for slices 2019-12-02 12:09:50 +01:00
Daniel Kolesa 9f50f08349 eolian: emit correct c_name for keyword builtins 2019-12-02 12:09:50 +01:00
Marcel Hollerbach 40571bf0ee eolian_aux: do not leak 2019-12-02 08:53:46 +01:00
Ali Alzyod 0806b03346 efl_canvas_text: correct password behaviour with efl_text_password_get/set
Summary:
In simple words:

when we create efl_canvas_text object,   efl_text_password_get will return TRUE.
which is wrong,
efl_text_password_get should  return FALSE, unless user change the password using   efl_text_password_set

Reviewers: woohyun, zmike, segfaultxavi, tasn

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10735
2019-12-02 10:56:13 +09:00
Carsten Haitzler adbf79a3a8 edje - min calc - ix more regressions due to optimizations
again 37b55172b0 broke min size calc.
this time it was for mouse cursors. the entry cursor was 0 sized after
commit 37b55172b0. this disables the
"don't cacle if its 0 sized) which isnt a valid thing to skip - you
caqn min size calc a 0x0 edje ... and it should then return a valid
min size given that design/layout.
2019-12-01 22:56:15 +00:00
Lauro Moura f203c164d8 eo files: Avoid container<ptr(value_type)> usage.
Summary:
Value types are already assumed to be stored by pointer (e.g.
`int val = *(node->data);`)

This commit just changes the current usage of the `ptr` modifier in the
ptr, not affecting the parser.

Reviewers: q66, segfaultxavi, bu5hm4n, felipealmeida

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers, brunobelo

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10769
2019-11-29 17:22:07 -03:00
Woochanlee 167cb43a96 tests/ecore_wl2: Add test for ecore_wl2_window_available_rotations functions
Summary:
tests/ecore_wl2: Add test for ecore_wl2_window_available_rotations functions

ref T8016

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8016

Differential Revision: https://phab.enlightenment.org/D10755
2019-11-29 08:55:19 -05:00
Yeongjong Lee 3ba366498c elementary: stabilize Efl.Ui.Relative_Container
Summary: ref T8380

Reviewers: segfaultxavi, woohyun, zmike, bu5hm4n, cedric

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8380

Differential Revision: https://phab.enlightenment.org/D10641
2019-11-29 10:43:43 +01:00
Marcel Hollerbach 74b4b354f5 here comes a new example
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10733
2019-11-29 08:08:22 +01:00
WooHyun Jung 62e470130c efl_ui_position_manager_grid: avoid zero division case
This fixes the issue of zero division when columns is zero.
Sometimes columns can be zero when "pd->viewport.w = 0".

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10768
2019-11-29 08:08:19 +01:00
Hermet Park d05c2169a8 vector cache: skip animation update as possible.
Since the vector file data is shareable among the multiple vg instances,
vfd could keep the requested frame data already by the other instance.

This case vector cache quickly return the vector data withouth any further progress.
2019-11-29 11:20:48 +09:00
Hermet Park 153b5cffd8 evas vector: operate cached vector file data per evas instances.
each vfd loaders construct vector tree data, these can be belongs to evas instance,
they are not likely shareable.

We should operate vfd separately.
2019-11-29 10:51:19 +09:00