[EGIT] [core/efl] master 02/03: elm_entry: use layout text/content aliases when text_set/get content_set/get/unset

2017-06-29 Thread Sungtaek Hong
jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=82a955be902ba4afd4cb0f0fbbaf46c1f2208155

commit 82a955be902ba4afd4cb0f0fbbaf46c1f2208155
Author: Sungtaek Hong 
Date:   Thu Jun 29 19:32:19 2017 +0900

elm_entry: use layout text/content aliases when text_set/get 
content_set/get/unset

Summary:
- elm_entry has elm.guide text part and it can be set by "guide".
- However when using text_aliases_get, this cannot be found.
- Add elm_obj_elm_layout_part_aliasing_eval() internal APIs to make entry
  use proper aliases.

Test Plan:
1. Run elementary test
   2. Observe search entry has guide text with "guide" part.
   3. Run Entry 8.
   4. Observe "elm.guide" part also works.
   5. Observe "icon" and "end" part works.

Reviewers: id213sin, herdsman, jpeg

Reviewed By: jpeg

Subscribers: conr2d, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4962
---
 src/lib/elementary/elm_entry.c  | 44 ++---
 src/lib/elementary/elm_entry.eo |  1 +
 src/lib/elementary/elm_layout.c | 31 ++---
 src/lib/elementary/elm_widget.h |  5 +
 4 files changed, 45 insertions(+), 36 deletions(-)

diff --git a/src/lib/elementary/elm_entry.c b/src/lib/elementary/elm_entry.c
index 0be4d08248..2adc9f1230 100644
--- a/src/lib/elementary/elm_entry.c
+++ b/src/lib/elementary/elm_entry.c
@@ -74,6 +74,13 @@ static const Evas_Smart_Cb_Description _smart_callbacks[] = {
 };
 #undef ELM_PRIV_ENTRY_SIGNALS
 
+static const Elm_Layout_Part_Alias_Description _text_aliases[] =
+{
+   {"default", "elm.text"},
+   {"guide", "elm.guide"},
+   {NULL, NULL}
+};
+
 static const Elm_Layout_Part_Alias_Description _content_aliases[] =
 {
{"icon", "elm.swallow.icon"},
@@ -3116,7 +3123,7 @@ _elm_entry_content_set(Eo *obj, Elm_Entry_Data *_pd 
EINA_UNUSED, const char *par
if (!part || !strcmp(part, "icon") || !strcmp(part, "elm.swallow.icon"))
  elm_entry_icon_visible_set(obj, EINA_TRUE);
 
-   if (!part || !strcmp(part, "end") || !strcmp(part, "elm.swallow.end"))
+   if (part && (!strcmp(part, "end") || !strcmp(part, "elm.swallow.end")))
  elm_entry_end_visible_set(obj, EINA_TRUE);
 
return EINA_TRUE;
@@ -3134,7 +3141,7 @@ _elm_entry_content_unset(Eo *obj, Elm_Entry_Data *_pd 
EINA_UNUSED, const char *p
if (!part || !strcmp(part, "icon") || !strcmp(part, "elm.swallow.icon"))
  elm_entry_icon_visible_set(obj, EINA_FALSE);
 
-   if (!part || !strcmp(part, "end") || !strcmp(part, "elm.swallow.end"))
+   if (part && (!strcmp(part, "end") || !strcmp(part, "elm.swallow.end")))
  elm_entry_end_visible_set(obj, EINA_FALSE);
 
return ret;
@@ -3200,12 +3207,12 @@ _elm_entry_text_set(Eo *obj, Elm_Entry_Data *sd, const 
char *part, const char *e
int len = 0;
 
if (!entry) entry = "";
-   if (part && strcmp(part, "elm.text"))
+   if (!_elm_layout_part_aliasing_eval(obj, , EINA_TRUE))
+ return EINA_FALSE;
+
+   if (strcmp(part, "elm.text"))
  {
-if (!strcmp(part, "guide"))
-  edje_object_part_text_set(sd->entry_edje, "elm.guide", entry);
-else
-  edje_object_part_text_set(sd->entry_edje, part, entry);
+edje_object_part_text_set(sd->entry_edje, part, entry);
 
 return EINA_TRUE;
  }
@@ -3250,20 +3257,11 @@ _elm_entry_text_get(Eo *obj, Elm_Entry_Data *sd, const 
char *item)
 {
const char *text;
 
-   if (item)
- {
-if (!strcmp(item, "default") || strcmp(item, "elm.text")) goto proceed;
-else if (!strcmp(item, "guide"))
-  {
- return edje_object_part_text_get(sd->entry_edje, "elm.guide");
-  }
-else
-  {
- return edje_object_part_text_get(sd->entry_edje, item);
-  }
- }
+   if (!_elm_layout_part_aliasing_eval(obj, , EINA_TRUE))
+ return NULL;
 
-proceed:
+   if (strcmp(item, "elm.text"))
+ return edje_object_part_text_get(sd->entry_edje, item);
 
text = edje_object_part_text_get(sd->entry_edje, "elm.text");
if (!text)
@@ -3990,6 +3988,12 @@ _elm_entry_efl_canvas_group_group_member_add(Eo *obj, 
Elm_Entry_Data *sd, Evas_O
  evas_object_raise(sd->hit_rect);
 }
 
+EOLIAN static const Elm_Layout_Part_Alias_Description*
+_elm_entry_elm_layout_text_aliases_get(Eo *obj EINA_UNUSED, Elm_Entry_Data 
*_sd EINA_UNUSED)
+{
+   return _text_aliases;
+}
+
 EOLIAN static const Elm_Layout_Part_Alias_Description *
 _elm_entry_elm_layout_content_aliases_get(Eo *obj EINA_UNUSED, Elm_Entry_Data 
*sd EINA_UNUSED)
 {
diff --git a/src/lib/elementary/elm_entry.eo b/src/lib/elementary/elm_entry.eo
index e60ee841ea..31753d9b4a 100644
--- a/src/lib/elementary/elm_entry.eo
+++ b/src/lib/elementary/elm_entry.eo
@@ -967,6 +967,7 @@ class Elm.Entry (Elm.Layout, Elm.Interface_Scrollable, 
Efl.Ui.Clickable,
   

[EGIT] [core/efl] master 01/03: widget: Avoid ERR in elm_object_content_ APIs

2017-06-29 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=9452a4ac497100ecc71eca5f4a37cfc655b45a53

commit 9452a4ac497100ecc71eca5f4a37cfc655b45a53
Author: Jean-Philippe Andre 
Date:   Thu Jun 29 19:09:27 2017 +0900

widget: Avoid ERR in elm_object_content_ APIs

If content_part_{set,get,unset} are called on a widget that
is not a layout (or flip, and a few others), then some ERR
messages would be printed out.

We hide these ERR messages as all elm_object APIs should be
callable on an object for which elm_object_widget_check()
returns true.

Ref T5629
---
 src/lib/elementary/elm_widget.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c
index b83bf2772b..915a75e7a4 100644
--- a/src/lib/elementary/elm_widget.c
+++ b/src/lib/elementary/elm_widget.c
@@ -3954,6 +3954,7 @@ elm_widget_content_part_set(Evas_Object *obj,
 Evas_Object *content)
 {
ELM_WIDGET_CHECK(obj);
+   if (!efl_isa(obj, EFL_PART_INTERFACE)) return;
efl_content_set(efl_part(obj, part), content);
 }
 
@@ -3962,6 +3963,7 @@ elm_widget_content_part_get(const Evas_Object *obj,
 const char *part)
 {
ELM_WIDGET_CHECK(obj) NULL;
+   if (!efl_isa(obj, EFL_PART_INTERFACE)) return NULL;
return efl_content_get(efl_part(obj, part));
 }
 
@@ -3970,6 +3972,7 @@ elm_widget_content_part_unset(Evas_Object *obj,
   const char *part)
 {
ELM_WIDGET_CHECK(obj) NULL;
+   if (!efl_isa(obj, EFL_PART_INTERFACE)) return NULL;
return efl_content_unset(efl_part(obj, part));
 }
 

-- 




[EGIT] [core/efl] master 03/03: elm: Always pass valid part name inside part APIs

2017-06-29 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=59081043a892f6db74a1d557c7422c7a543c909d

commit 59081043a892f6db74a1d557c7422c7a543c909d
Author: Jean-Philippe Andre 
Date:   Thu Jun 29 20:02:59 2017 +0900

elm: Always pass valid part name inside part APIs

This affects the legacy content_set/get/unset part APIs. This
should avoid some unwanted ERR messages in case an elm_object_
API is used on an elm widget that doesn't implement said API.

What this does is request the widget for the name of the default
part if NULL was passed in. Since some widgets are not elm_layout,
they have to override the API themselves, which is why I made it
an internal EO API (rather than a series of efl_isa()).

In theory, part should never be NULL when reaching the internal
implementation code in the widgets, at least for content.

In EO, efl_part(obj, NULL) should be invalid.

Ref T5629
---
 src/lib/elementary/efl_ui_flip.c|  2 +
 src/lib/elementary/efl_ui_win.c | 12 ++---
 src/lib/elementary/elc_ctxpopup.c   | 12 +++--
 src/lib/elementary/elc_fileselector_entry.c |  2 +
 src/lib/elementary/elc_player.c |  2 +
 src/lib/elementary/elc_popup.c  |  2 +
 src/lib/elementary/elm_entry.c  |  2 +
 src/lib/elementary/elm_layout.c | 11 
 src/lib/elementary/elm_mapbuf.c |  2 +
 src/lib/elementary/elm_notify.c |  2 +
 src/lib/elementary/elm_part_helper.h|  5 ++
 src/lib/elementary/elm_scroller.c   |  2 +
 src/lib/elementary/elm_widget.c | 83 +++--
 src/lib/elementary/elm_widget.h |  3 ++
 14 files changed, 103 insertions(+), 39 deletions(-)

diff --git a/src/lib/elementary/efl_ui_flip.c b/src/lib/elementary/efl_ui_flip.c
index d6d1ac4d6f..074771251d 100644
--- a/src/lib/elementary/efl_ui_flip.c
+++ b/src/lib/elementary/efl_ui_flip.c
@@ -2400,6 +2400,7 @@ ELM_PART_IMPLEMENT(efl_ui_flip, EFL_UI_FLIP, 
Efl_Ui_Flip_Data, Elm_Part_Data)
 ELM_PART_IMPLEMENT_CONTENT_SET(efl_ui_flip, EFL_UI_FLIP, Efl_Ui_Flip_Data, 
Elm_Part_Data)
 ELM_PART_IMPLEMENT_CONTENT_GET(efl_ui_flip, EFL_UI_FLIP, Efl_Ui_Flip_Data, 
Elm_Part_Data)
 ELM_PART_IMPLEMENT_CONTENT_UNSET(efl_ui_flip, EFL_UI_FLIP, Efl_Ui_Flip_Data, 
Elm_Part_Data)
+ELM_PART_CONTENT_DEFAULT_SET(efl_ui_flip, "front")
 #include "efl_ui_flip_internal_part.eo.c"
 
 /* Efl.Part end */
@@ -2407,6 +2408,7 @@ ELM_PART_IMPLEMENT_CONTENT_UNSET(efl_ui_flip, 
EFL_UI_FLIP, Efl_Ui_Flip_Data, Elm
 /* Internal EO APIs and hidden overrides */
 
 #define EFL_UI_FLIP_EXTRA_OPS \
+   ELM_PART_CONTENT_DEFAULT_OPS(efl_ui_flip), \
EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_flip)
 
 #include "efl_ui_flip.eo.c"
diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index 12bffbda5e..a87985ff11 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -6660,7 +6660,7 @@ if (x < 0) { x = 0; bad = 1; } } while (0)
 
 /* Efl.Part APIs */
 
-#define WIN_PART_ERR(part) ERR("No such part in window: '%s'. Supported parts 
are: 'background'.", part);
+#define WIN_PART_ERR(part) ERR("No such part in window: '%s'. Supported parts 
are: 'content' and 'background'.", part);
 
 static Eina_Bool
 _elm_win_bg_set(Efl_Ui_Win_Data *sd, Eo *bg)
@@ -6737,7 +6737,6 @@ static Eina_Bool
 _efl_ui_win_content_set(Eo *obj, Efl_Ui_Win_Data *sd, const char *part, Eo 
*content)
 {
sd->legacy.forbidden = EINA_TRUE;
-   if (!part) part = "content";
if (eina_streq(part, "content"))
  {
 if (sd->content == content) return EINA_TRUE;
@@ -6773,7 +6772,6 @@ static Efl_Canvas_Object *
 _efl_ui_win_content_get(Eo *obj EINA_UNUSED, Efl_Ui_Win_Data *sd, const char 
*part)
 {
sd->legacy.forbidden = EINA_TRUE;
-   if (!part) part = "content";
if (eina_streq(part, "content"))
  return sd->content;
else if (eina_streq(part, "background"))
@@ -6909,25 +6907,26 @@ _efl_ui_win_internal_part_efl_file_file_get(Eo *obj, 
Elm_Part_Data *pd, const ch
 EOLIAN static Eina_Bool
 _efl_ui_win_efl_container_content_set(Eo *obj, Efl_Ui_Win_Data *sd, 
Evas_Object *content)
 {
-   return _efl_ui_win_content_set(obj, sd, NULL, content);
+   return _efl_ui_win_content_set(obj, sd, "content", content);
 }
 
 EOLIAN static Evas_Object*
 _efl_ui_win_efl_container_content_get(Eo *obj EINA_UNUSED, Efl_Ui_Win_Data *sd)
 {
-   return _efl_ui_win_content_get(obj, sd, NULL);
+   return _efl_ui_win_content_get(obj, sd, "content");
 }
 
 EOLIAN static Evas_Object*
 _efl_ui_win_efl_container_content_unset(Eo *obj, Efl_Ui_Win_Data *sd)
 {
-   return _efl_ui_win_content_unset(obj, sd, NULL);
+   return _efl_ui_win_content_unset(obj, sd, "content");
 }
 
 ELM_PART_IMPLEMENT(efl_ui_win, EFL_UI_WIN, Efl_Ui_Win_Data, Elm_Part_Data)
 ELM_PART_IMPLEMENT_CONTENT_SET(efl_ui_win, EFL_UI_WIN, Efl_Ui_Win_Data, 

[EGIT] [core/efl] master 01/01: Efl.Observable: Free an iterator after use in observers_update()

2017-06-29 Thread Sungtaek Hong
conr2d pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=1ae77d0925eec52eb9961ff321147faca7b83e40

commit 1ae77d0925eec52eb9961ff321147faca7b83e40
Author: Sungtaek Hong 
Date:   Fri Jun 30 13:29:44 2017 +0900

Efl.Observable: Free an iterator after use in observers_update()

Summary:
- In _efl_observable_observers_update() iterator is allocated but not freed.
- This frees the iterator.

@fix

Reviewers: conr2d, jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4994
---
 src/lib/efl/interfaces/efl_observer.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/lib/efl/interfaces/efl_observer.c 
b/src/lib/efl/interfaces/efl_observer.c
index 2d4a20bbc6..c7efc30b2c 100644
--- a/src/lib/efl/interfaces/efl_observer.c
+++ b/src/lib/efl/interfaces/efl_observer.c
@@ -180,6 +180,8 @@ _efl_observable_observers_update(Eo *obj, 
Efl_Observable_Data *pd EINA_UNUSED, c
  {
 efl_observer_update(o, obj, key, data);
  }
+
+   eina_iterator_free(it);
 }
 
 typedef struct

-- 




Re: [E-devel] chart library based on the EFL

2017-06-29 Thread Vincent Torri
On Thu, Jun 29, 2017 at 11:14 PM, Jérémy Zurcher  wrote:
> Hello Vincent,
>
> nice start
>
> there's lot of good stuff in that commercial js lib that I use
> in my job http://www.fusioncharts.com/charts/

I think that cedric mentioned it to me

> I had to add the following to compile on archlinux (might not be the
> right way to do, I know nothing about meson yet) :
>
> +cc = meson.get_compiler('c')
> +
>  dep_lib = [dependency('eina'),
> dependency('evas'),
> -   dependency('eina')]
> +   dependency('eina'),
> +   cc.find_library('m')]

i've forgotten to push my commit. I did it in a bit different way but
i prefer yours :-)

thank you

Vincent

> cheers
>
> On Thursday 29 June 2017  22:23, Vincent Torri wrote :
>> Hello
>>
>> I would like to introduce a small library which renders chart using
>> Evas VG API :
>>
>> https://github.com/vtorri/echart2
>>
>> I try to mimic a bit the area chart of google :
>>
>> https://developers.google.com/chart/interactive/docs/gallery/areachart
>>
>> It consist of a library and a test example.
>>
>> The library consists of
>>  * a data API to fill data
>>  * a chart API for the chart features
>>  * an evas smart object for a "line" chart
>>
>> the test example is the first 'area' example in google charts
>>
>> I have attached a screenshot of the example
>>
>> The library is in its very early state and is wip. There may be bugs
>> and a lot of improvements can be done of course
>>
>> the build system is meson + ninja (see README.md for instructions).
>> Just install meson and ninja with your favorite package manager
>>
>> I have tested echart on Windows and Fedora.
>>
>> Any patches, remarks and ideas are welcome
>>
>> Vincent
>
>
>> --
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>
>> ___
>> enlightenment-devel mailing list
>> enlightenment-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
> --- Hell'O from Yverdoom
>
> Jérémy (jeyzu)
>
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: genlist: move to next focusable/selectable item when looping

2017-06-29 Thread Amitesh Singh
ami pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=0141417d5ddd4537aa22a9dc844e14221e52dd8b

commit 0141417d5ddd4537aa22a9dc844e14221e52dd8b
Author: Amitesh Singh 
Date:   Fri Jun 30 12:18:33 2017 +0900

genlist: move to next focusable/selectable item when looping

this fixes a bug in genlist when scrolling is enabled and
items at top and bottom are disabled. Focus behaviour is not normal
in case up arrow is pressed when focus is at the top enabled item
or down key is pressed when focus is at bottom enabled item.

fixes T5576
---
 src/lib/elementary/elm_genlist.c | 16 +---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/src/lib/elementary/elm_genlist.c b/src/lib/elementary/elm_genlist.c
index 712d6f0e08..762350c3ee 100644
--- a/src/lib/elementary/elm_genlist.c
+++ b/src/lib/elementary/elm_genlist.c
@@ -2956,7 +2956,7 @@ _key_action_move_dir(Evas_Object *obj, 
Elm_Focus_Direction dir, Eina_Bool multi)
// handle item loop feature
if (sd->item_loop_enable && !sd->item_looping_on)
  {
-if (min > v)
+if (min < v)
   {
  if (dir == ELM_FOCUS_UP)
{
@@ -2972,9 +2972,19 @@ _key_action_move_dir(Evas_Object *obj, 
Elm_Focus_Direction dir, Eina_Bool multi)
 else
   {
  if (dir == ELM_FOCUS_UP)
-   it = elm_genlist_last_item_get(obj);
+   {
+  it = elm_genlist_last_item_get(obj);
+  ELM_GENLIST_ITEM_DATA_GET(it, gen_it);
+  while (_is_no_select(gen_it) || 
elm_wdg_item_disabled_get(it))
+it = elm_genlist_item_prev_get(it);
+   }
 else if (dir == ELM_FOCUS_DOWN)
-   it = elm_genlist_first_item_get(obj);
+  {
+ it = elm_genlist_first_item_get(obj);
+ ELM_GENLIST_ITEM_DATA_GET(it, gen_it);
+ while (_is_no_select(gen_it) || elm_wdg_item_disabled_get(it))
+   it = elm_genlist_item_next_get(it);
+  }
 
  if (it && focus_only)
elm_object_item_focus_set(it, EINA_TRUE);

-- 




Re: [E-devel] EFL Profiling Viewer Released!

2017-06-29 Thread William L. Thomson Jr.
On Fri, 30 Jun 2017 08:38:26 +0900
Carsten Haitzler (The Rasterman)  wrote:

> On Thu, 29 Jun 2017 10:54:31 -0400 "William L. Thomson Jr."
>  said:
> 
> > I agree its good stuff and the timing of others comments is ironic.
> > I just was making a Gentoo ebuild for this yesterday. I was going
> > to ask about build systems, and others comments showed up :)
> > 
> > I got ahead of myself and noticed there is no build system. Unless I
> > grabbed the wrong repo. Unless there is another repo that has that.
> > Which do you plan to use autotools or cmake?  
> 
> look closer. there is a build system.

Cmake, whoops. I use and like cmake for its minimal footprint. Easily
overlooked...

-- 
William L. Thomson Jr.


pgpONlv3URHPR.pgp
Description: OpenPGP digital signature
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Elm_Entry assuming markup input???

2017-06-29 Thread The Rasterman
On Thu, 29 Jun 2017 11:13:51 + Andrew Williams  said:

> Hi,
> 
> Just to wrap this thread up following EDD:
> 
> * no-one is proposing that we remove the ability to mark up text through
> the markup format mechanism, it is a great feature
> * we cannot make changes to this legacy API as apps depend on it or have
> adapted to it
> 
> * the new textblock API, which is currently plain text only is being
> extended with a solid markup API
> * The existing markup format will be supported through _markup_text_set or
> similar API leaving text_set/get to be plain text only
> 
> It was beileved that this would satisfy all requirements whilst removing
> any confusion about the nature of text encoding when using plain text.
> This allows us to take a path-of-least-surprise approach for the new Eo
> based text APIs

you have to have a markup version of everything. set, append, prepend, insert,
replace etc.

> Thanks everyone for the discussion :)
> Andy
> 
> On Sat, 24 Jun 2017 at 05:39 Carsten Haitzler  wrote:
> 
> > On Fri, 23 Jun 2017 21:55:14 +0200 Davide Andreoli  > >
> > said:
> >
> > > 2017-06-19 13:36 GMT+02:00 Daniel Hirt :
> > > > Hi,
> > > >
> > > > On Mon, Jun 19, 2017 at 12:01 PM, Andrew Williams <
> > a...@andywilliams.me>
> > > > wrote:
> > > >
> > > >> Hi,
> > > >>
> > > >> Looking at the tests you point me at - selection (and the past) is a
> > > plain
> > > >> text copy with the markup stripped - exactly what I would expect for
> > > >> text_get - but the current content transformed with the helper will
> > not
> > > get
> > > >> you there - there is no built in interpretation of formatting - just
> > > >> rendered understands it.
> > > >>
> > > >>
> > > > "elm_entry_selection_get" returns the text in markup format. The test
> > > prints
> > > > both types one after another (markup followed by plaintext) using
> > > > "elm_entry_markup_to_utf8".
> > > > It is essential for copy & paste of markup text between two entry
> > clients,
> > > > so the pasted formatting is kept.
> > > >
> > > >
> > > >> Overall the implementation feels wrong - supporting markup is great
> > but
> > > >> returning it inline in text_get feels like we are imposing internal
> > > choices
> > > >> on other devs.
> > > >>
> > > >> I note that the code considers format but only when interacting with
> > > files
> > > >> - so I can have plain text files but not plain text input.
> > > >>
> > > >>
> > > > Right, it's a feature so you can load plain files. You specify the
> > format
> > > > you
> > > > want to load (plaintext or markup). But, after the file is loaded, it's
> > > > discarded.
> > > >
> > > > It's important to point out that because there's an actual
> > representation
> > > > (markup), it's costly to store both plaintext and markup content in the
> > > > object.
> > > > Asking you to convert using "markup_to_utf8" is understandable, as it
> > what
> > > > we would actually do internally if we were to add API to get the text
> > in
> > > > plaintext. It's only one function call away, and it's easier than just
> > add
> > > > more
> > > > API to the widget. No need for a new function if there's a way to do
> > this
> > > > already.
> > > >
> > > >
> > > >> Lastly the documentation clearly discussed markup capability but it
> > > *never*
> > > >> discusses encoding and there is no explicit mention that your text
> > will
> > > be
> > > >> transformed after text_set. If it were then it should be symmetrically
> > > >> transformed back on text_get - path of least surprise.
> > > >>
> > > >>
> > > > Actually, it is not transformed on "text_set". You are expected to
> > enter a
> > > > markup-compatible text. Otherwise you will have the mentioned special
> > > > characters (like "<") misinterpreted as markup. You can try with
> > > > "elm_object_text_set" on an entry widget.
> > > >
> > > >
> > > >> I don't quite understand why we would build formatting in as
> > mandatory,
> > > >> functionality is great but it should be possible to turn it off.
> > > >>
> > > >> I agree that people complain when markup is not supported in a widget
> > but
> > > >> that is the expectation we have set - consistency is very important
> > > indeed
> > > >> and I think we don't have it in this regard.
> > > >>
> > > >> Additionally I think the markup_to_utf8 methods are peculiarly named -
> > > they
> > > >> do no character encoding so the usage of utf8 is probably incorrect...
> > > >>
> > > >
> > > > They're correct. UTF-8 is the standard plaintext encoding. We support
> > > UTF-8,
> > > > and provide converters for your convenience. You probably won't need
> > those
> > > > most
> > > > of the time.
> > > > Your plaintext is always "encoded", but you probably won't notice that
> > > > because
> > > > it's backward-compatible with US ASCII (1-byte per character).
> > > >
> > > >
> > > >>
> > > >> Andrew
> > > >>
> > > >>
> > > > Lastly, I would 

Re: [E-devel] EFL Profiling Viewer Released!

2017-06-29 Thread The Rasterman
On Thu, 29 Jun 2017 10:54:31 -0400 "William L. Thomson Jr." 
said:

> I agree its good stuff and the timing of others comments is ironic. I
> just was making a Gentoo ebuild for this yesterday. I was going to ask
> about build systems, and others comments showed up :)
> 
> I got ahead of myself and noticed there is no build system. Unless I
> grabbed the wrong repo. Unless there is another repo that has that.
> Which do you plan to use autotools or cmake?

look closer. there is a build system.

> Good stuff either way! Though if it remains as its own project, may go
> with just like EFL Profiler, not sure Viewer is needed and makes the
> name a bit long. But thats pretty moot.
> 
> Thanks for the work!
> 
> -- 
> William L. Thomson Jr.


-- 
- Codito, ergo sum - "I code, therefore I am" --
The Rasterman (Carsten Haitzler)ras...@rasterman.com


--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [tools/edi] master 01/01: edi_screens_scm: convert markup to utf8 for commit message.

2017-06-29 Thread Al Poole
ajwillia-ms pushed a commit to branch master.

http://git.enlightenment.org/tools/edi.git/commit/?id=2924b323f6dc15cf178e4ca53b10f71b89fa20a8

commit 2924b323f6dc15cf178e4ca53b10f71b89fa20a8
Author: Al Poole 
Date:   Thu Jun 29 23:51:33 2017 +0100

edi_screens_scm: convert markup to utf8 for commit message.

Summary: Do conversion and optimize string len check.

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4993
---
 src/bin/screens/edi_scm_screens.c | 11 ---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/bin/screens/edi_scm_screens.c 
b/src/bin/screens/edi_scm_screens.c
index e13dc70..635c13d 100644
--- a/src/bin/screens/edi_scm_screens.c
+++ b/src/bin/screens/edi_scm_screens.c
@@ -50,25 +50,30 @@ _edi_scm_screens_commit_cb(void *data,
void *event_info EINA_UNUSED)
 {
Edi_Scm_Engine *engine;
-   const char *message;
+   const char *text;
+   char *message;
 
engine = edi_scm_engine_get();
// engine has been checked before now
if (!engine)
  return;
 
-   message = elm_entry_entry_get((Evas_Object *) data);
-   if (!message || strlen(message) == 0)
+   text = elm_entry_entry_get((Evas_Object *) data);
+   if (!text || !text[0])
  {
 _edi_scm_screens_message_open("Please enter a valid commit message.");
 return;
  }
 
+   message = elm_entry_markup_to_utf8(text);
+
edi_consolepanel_clear();
edi_consolepanel_show();
edi_scm_commit(message);
 
evas_object_del(_popup);
+
+   free(message);
 }
 
 void

-- 




[EGIT] [core/efl] master 02/02: drm: Implement hardware plane support

2017-06-29 Thread Derek Foreman
derekf pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=fbb676584ed5ab12ce0dd101b24a1ebf06bf5043

commit fbb676584ed5ab12ce0dd101b24a1ebf06bf5043
Author: Derek Foreman 
Date:   Thu Jun 29 17:15:36 2017 -0500

drm: Implement hardware plane support

Adds the ability for drm to place native surfaces on harware planes.

ref 33b50238d2d54e77c23f42c00c6bfafc9a9a1080
---
 src/modules/evas/engines/drm/evas_engine.c | 120 +
 1 file changed, 120 insertions(+)

diff --git a/src/modules/evas/engines/drm/evas_engine.c 
b/src/modules/evas/engines/drm/evas_engine.c
index c66578282e..f5474ab503 100644
--- a/src/modules/evas/engines/drm/evas_engine.c
+++ b/src/modules/evas/engines/drm/evas_engine.c
@@ -1,10 +1,19 @@
 #include "evas_engine.h"
+#include "../software_generic/evas_native_common.h"
 
 typedef struct _Render_Engine
 {
Render_Engine_Software_Generic generic;
+
+   int fd;
 } Render_Engine;
 
+struct scanout_handle
+{
+   Evas_Native_Scanout_Handler handler;
+   void *data;
+};
+
 static Evas_Func func, pfunc;
 
 int _evas_engine_drm_log_dom;
@@ -21,6 +30,8 @@ _render_engine_setup(Evas_Engine_Info_Drm *info, int w, int h)
ob = _outbuf_setup(info, w, h);
if (!ob) goto err;
 
+   re->fd = info->info.fd;
+
if (!evas_render_engine_software_generic_init(>generic, ob,
  _outbuf_state_get,
  _outbuf_rotation_get,
@@ -108,6 +119,113 @@ eng_output_free(void *engine EINA_UNUSED, void *data)
  }
 }
 
+static Ecore_Drm2_Fb *
+drm_import_simple_dmabuf(int fd, struct dmabuf_attributes *attributes)
+{
+   unsigned int stride[4] = { 0 };
+   int dmabuf_fd[4] = { 0 };
+   int i;
+
+   for (i = 0; i < attributes->n_planes; i++)
+ {
+stride[i] = attributes->stride[i];
+dmabuf_fd[i] = attributes->fd[i];
+ }
+
+   return ecore_drm2_fb_dmabuf_import(fd, attributes->width,
+  attributes->height, 32, 32,
+  attributes->format, stride,
+  dmabuf_fd, attributes->n_planes);
+}
+
+static void
+_eng_fb_release(Ecore_Drm2_Fb *fb EINA_UNUSED, Ecore_Drm2_Fb_Status status, 
void *data)
+{
+   struct scanout_handle *sh;
+
+   sh = data;
+   if (status == ECORE_DRM2_FB_STATUS_DELETED)
+ {
+free(sh);
+return;
+ }
+
+   if (!sh->handler) return;
+
+   switch (status)
+ {
+  case ECORE_DRM2_FB_STATUS_SCANOUT_ON:
+sh->handler(sh->data, EVAS_NATIVE_SURFACE_STATUS_SCANOUT_ON);
+break;
+  case ECORE_DRM2_FB_STATUS_SCANOUT_OFF:
+sh->handler(sh->data, EVAS_NATIVE_SURFACE_STATUS_SCANOUT_OFF);
+break;
+  case ECORE_DRM2_FB_STATUS_PLANE_ASSIGN:
+sh->handler(sh->data, EVAS_NATIVE_SURFACE_STATUS_PLANE_ASSIGN);
+break;
+  case ECORE_DRM2_FB_STATUS_PLANE_RELEASE:
+sh->handler(sh->data, EVAS_NATIVE_SURFACE_STATUS_PLANE_RELEASE);
+break;
+  default:
+ERR("Unhandled framebuffer status");
+ }
+}
+
+static void *
+eng_image_plane_assign(void *data, void *image, int x, int y)
+{
+   Render_Engine *re;
+   Outbuf *ob;
+   RGBA_Image *img;
+   Native *n;
+   Ecore_Drm2_Fb *fb = NULL;
+   Ecore_Drm2_Plane *plane;
+   struct scanout_handle *g;
+
+   EINA_SAFETY_ON_NULL_RETURN_VAL(image, EINA_FALSE);
+
+   re = (Render_Engine *)data;
+   EINA_SAFETY_ON_NULL_RETURN_VAL(re, EINA_FALSE);
+
+   ob = re->generic.ob;
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ob, EINA_FALSE);
+
+   img = image;
+   n = img->native.data;
+
+   /* Perhaps implementable on other surface types, but we're
+* sticking to this one for now */
+   if (n->ns.type != EVAS_NATIVE_SURFACE_WL_DMABUF) return NULL;
+
+   fb = drm_import_simple_dmabuf(re->fd, >ns_data.wl_surface_dmabuf.attr);
+
+   if (!fb) return NULL;
+
+   g = calloc(1, sizeof(struct scanout_handle));
+   if (!g) goto out;
+
+   g->handler = n->ns.data.wl_dmabuf.scanout.handler;
+   g->data = n->ns.data.wl_dmabuf.scanout.data;
+   ecore_drm2_fb_status_handler_set(fb, _eng_fb_release, g);
+
+   /* Fail or not, we're going to drop that fb and let refcounting get rid of
+* it later
+*/
+   plane = ecore_drm2_plane_assign(ob->priv.output, fb, x, y);
+
+out:
+   ecore_drm2_fb_discard(fb);
+   return plane;
+}
+
+static void
+eng_image_plane_release(void *data EINA_UNUSED, void *image EINA_UNUSED, void 
*plin)
+{
+   Ecore_Drm2_Plane *plane = plin;
+
+   ecore_drm2_plane_release(plane);
+}
+
 static int
 module_open(Evas_Module *em)
 {
@@ -139,6 +257,8 @@ module_open(Evas_Module *em)
EVAS_API_OVERRIDE(setup, , eng_);
EVAS_API_OVERRIDE(update, , eng_);
EVAS_API_OVERRIDE(output_free, , eng_);
+   EVAS_API_OVERRIDE(image_plane_assign, , eng_);
+   EVAS_API_OVERRIDE(image_plane_release, , eng_);
 
/* advertise our engine functions */
em->functions = (void 

[EGIT] [core/efl] master 01/02: software_generic: fix eng_image_native_get

2017-06-29 Thread Derek Foreman
derekf pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=dc3873c8db964845aa12508874b13d3074265d18

commit dc3873c8db964845aa12508874b13d3074265d18
Author: Derek Foreman 
Date:   Thu Jun 29 17:12:01 2017 -0500

software_generic: fix eng_image_native_get

This has been a stub for a long time, but now we have a native_set, so
we should have a native_get too.

This is required for hw plane usage on the software engine.
---
 src/modules/evas/engines/software_generic/evas_engine.c | 9 +++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/modules/evas/engines/software_generic/evas_engine.c 
b/src/modules/evas/engines/software_generic/evas_engine.c
index f58fb494d3..85e9f401c3 100644
--- a/src/modules/evas/engines/software_generic/evas_engine.c
+++ b/src/modules/evas/engines/software_generic/evas_engine.c
@@ -1193,9 +1193,14 @@ eng_image_native_set(void *data EINA_UNUSED, void 
*image, void *native)
 }
 
 static void *
-eng_image_native_get(void *data EINA_UNUSED, void *image EINA_UNUSED)
+eng_image_native_get(void *data EINA_UNUSED, void *image)
 {
-   return NULL;
+   RGBA_Image *im = image;
+   Evas_Native_Surface *n;
+
+   if (!im) return NULL;
+   n = im->native.data;
+   return n;
 }
 
 static void *

-- 




[EGIT] [apps/terminology] master 01/01: feature: move cursor to position on click+alt. Closes T5537

2017-06-29 Thread Boris Faure
billiob pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=de3890dad36dcaa1869b13dc7590f4e3c0e81df3

commit de3890dad36dcaa1869b13dc7590f4e3c0e81df3
Author: Boris Faure 
Date:   Thu Jun 29 23:45:05 2017 +0200

feature: move cursor to position on click+alt. Closes T5537
---
 src/bin/termio.c |  7 +++
 src/bin/termptyops.c | 26 ++
 src/bin/termptyops.h |  2 ++
 3 files changed, 35 insertions(+)

diff --git a/src/bin/termio.c b/src/bin/termio.c
index 6d709f2..9b03008 100644
--- a/src/bin/termio.c
+++ b/src/bin/termio.c
@@ -6,6 +6,7 @@
 #include "termio.h"
 #include "termiolink.h"
 #include "termpty.h"
+#include "termptyops.h"
 #include "termcmd.h"
 #include "termptydbl.h"
 #include "utf8.h"
@@ -3998,6 +3999,12 @@ _handle_mouse_down_single_click(Termio *sd,
 sd->pty->selection.end.y = cy;
 _selection_dbl_fix(sd);
  }
+   else if (!shift && alt && !sd->pty->selection.is_active
+&& (sd->pty->mouse_mode == MOUSE_OFF))
+ {
+/* move cursor to position */
+termpty_move_cursor(sd->pty, cx, cy);
+ }
else if (!shift && !sd->pty->selection.is_active)
  {
 /* New selection */
diff --git a/src/bin/termptyops.c b/src/bin/termptyops.c
index e300db4..7635d0e 100644
--- a/src/bin/termptyops.c
+++ b/src/bin/termptyops.c
@@ -472,3 +472,29 @@ termpty_cursor_copy(Termpty *ty, Eina_Bool save)
 ty->cursor_state.cy = ty->cursor_save[ty->altbuf].cy;
  }
 }
+
+
+void
+termpty_move_cursor(Termpty *ty, int cx, int cy)
+{
+   int vect;
+
+   /* right/left */
+   vect = cx - ty->cursor_state.cx;
+   /* left */
+   for (; vect < 0; vect++)
+ termpty_write(ty, "\033[D", strlen("\033[D"));
+   /* right */
+   for (; vect > 0; vect--)
+ termpty_write(ty, "\033[C", strlen("\033[C"));
+
+   /* up/down */
+   vect = cy - ty->cursor_state.cy;
+   /* up */
+   for (; vect < 0; vect++)
+ termpty_write(ty, "\033[A", strlen("\033[A"));
+   /* down*/
+   for (; vect > 0; vect--)
+ termpty_write(ty, "\033[B", strlen("\033[B"));
+
+}
diff --git a/src/bin/termptyops.h b/src/bin/termptyops.h
index 7046d5b..ee27860 100644
--- a/src/bin/termptyops.h
+++ b/src/bin/termptyops.h
@@ -28,6 +28,8 @@ void termpty_cursor_copy(Termpty *ty, Eina_Bool save);
 void termpty_clear_tabs_on_screen(Termpty *ty);
 void termpty_clear_backlog(Termpty *ty);
 
+void termpty_move_cursor(Termpty *ty, int cx, int cy);
+
 #define _term_txt_write(ty, txt) termpty_write(ty, txt, sizeof(txt) - 1)
 
 #define TAB_WIDTH 8u

-- 




Re: [E-devel] chart library based on the EFL

2017-06-29 Thread Jérémy Zurcher
Hello Vincent,

nice start

there's lot of good stuff in that commercial js lib that I use
in my job http://www.fusioncharts.com/charts/

I had to add the following to compile on archlinux (might not be the
right way to do, I know nothing about meson yet) :

+cc = meson.get_compiler('c')
+
 dep_lib = [dependency('eina'),
dependency('evas'),
-   dependency('eina')]
+   dependency('eina'),
+   cc.find_library('m')]

cheers

On Thursday 29 June 2017  22:23, Vincent Torri wrote :
> Hello
> 
> I would like to introduce a small library which renders chart using
> Evas VG API :
> 
> https://github.com/vtorri/echart2
> 
> I try to mimic a bit the area chart of google :
> 
> https://developers.google.com/chart/interactive/docs/gallery/areachart
> 
> It consist of a library and a test example.
> 
> The library consists of
>  * a data API to fill data
>  * a chart API for the chart features
>  * an evas smart object for a "line" chart
> 
> the test example is the first 'area' example in google charts
> 
> I have attached a screenshot of the example
> 
> The library is in its very early state and is wip. There may be bugs
> and a lot of improvements can be done of course
> 
> the build system is meson + ninja (see README.md for instructions).
> Just install meson and ninja with your favorite package manager
> 
> I have tested echart on Windows and Fedora.
> 
> Any patches, remarks and ideas are welcome
> 
> Vincent


> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot

> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

--- Hell'O from Yverdoom

Jérémy (jeyzu)

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: Elm layout: fix broken text part name resolving

2017-06-29 Thread Daniel Hirt
herdsman pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=c0e4a218dd06ecf790a5338c4fcc09a4073dba0c

commit c0e4a218dd06ecf790a5338c4fcc09a4073dba0c
Author: Daniel Hirt 
Date:   Thu Jun 29 21:33:12 2017 +0300

Elm layout: fix broken text part name resolving

This adds a few workaround to overcome the efl_part port.
Quite a few layouts got broken in some specific cases.
---
 src/lib/elementary/elc_multibuttonentry.c | 2 +-
 src/lib/elementary/elc_popup.c| 2 +-
 src/lib/elementary/elm_actionslider.c | 3 +++
 src/lib/elementary/elm_bubble.c   | 1 +
 src/lib/elementary/elm_label.c| 1 +
 src/lib/elementary/elm_layout.c   | 5 +
 6 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/lib/elementary/elc_multibuttonentry.c 
b/src/lib/elementary/elc_multibuttonentry.c
index c982803062..ea4c23ff59 100644
--- a/src/lib/elementary/elc_multibuttonentry.c
+++ b/src/lib/elementary/elc_multibuttonentry.c
@@ -1523,7 +1523,7 @@ _elm_multibuttonentry_text_set(Eo *obj, 
Elm_Multibuttonentry_Data *sd EINA_UNUSE
 {
Eina_Bool int_ret = EINA_TRUE;
 
-   if (!part || !strcmp(part, "default"))
+   if (!part || !strcmp(part, "default") || !strcmp(part, "elm.text"))
  {
 if (label) _label_set(obj, label);
 int_ret = EINA_TRUE;
diff --git a/src/lib/elementary/elc_popup.c b/src/lib/elementary/elc_popup.c
index 45862b0901..e3ef8425af 100644
--- a/src/lib/elementary/elc_popup.c
+++ b/src/lib/elementary/elc_popup.c
@@ -1062,7 +1062,7 @@ _elm_popup_text_set(Eo *obj, Elm_Popup_Data *_pd, const 
char *part, const char *
 {
Eina_Bool int_ret = EINA_FALSE;
 
-   if (!part || !strcmp(part, "default"))
+   if (!part || !strcmp(part, "default") || !strcmp(part, "elm.text"))
  int_ret = _content_text_set(obj, label);
else if (!strcmp(part, "title,text"))
  int_ret = _title_text_set(obj, label);
diff --git a/src/lib/elementary/elm_actionslider.c 
b/src/lib/elementary/elm_actionslider.c
index 95f4cd6b42..80888bbcc0 100644
--- a/src/lib/elementary/elm_actionslider.c
+++ b/src/lib/elementary/elm_actionslider.c
@@ -457,6 +457,8 @@ _elm_actionslider_text_set(Eo *obj, Elm_Actionslider_Data 
*_pd EINA_UNUSED, cons
Eina_Bool int_ret = EINA_TRUE;
 
_mirrored_part_fix(obj, );
+
+   if (!part || !strcmp(part, "elm.text")) part = _text_aliases[0].real_part;
efl_text_set(efl_part(efl_super(obj, MY_CLASS), part), text);
 
return int_ret;
@@ -469,6 +471,7 @@ _elm_actionslider_text_get(Eo *obj, Elm_Actionslider_Data 
*_pd EINA_UNUSED, cons
 
_mirrored_part_fix(obj, );
 
+   if (!part) part = _text_aliases[0].real_part;
text = efl_text_get(efl_part(efl_super(obj, MY_CLASS), part));
 
return text;
diff --git a/src/lib/elementary/elm_bubble.c b/src/lib/elementary/elm_bubble.c
index 520a16198d..51f2de1d59 100644
--- a/src/lib/elementary/elm_bubble.c
+++ b/src/lib/elementary/elm_bubble.c
@@ -121,6 +121,7 @@ _elm_bubble_text_set(Eo *obj, Elm_Bubble_Data *_pd 
EINA_UNUSED, const char *part
 {
Eina_Bool int_ret = EINA_TRUE;
 
+   if (!part) part = _text_aliases[0].real_part;
efl_text_set(efl_part(efl_super(obj, MY_CLASS), part), label);
if (!int_ret) return EINA_FALSE;
 
diff --git a/src/lib/elementary/elm_label.c b/src/lib/elementary/elm_label.c
index 10a009cda1..7a5f65e2a9 100644
--- a/src/lib/elementary/elm_label.c
+++ b/src/lib/elementary/elm_label.c
@@ -348,6 +348,7 @@ _elm_label_text_set(Eo *obj, Elm_Label_Data *sd, const char 
*part, const char *l
if (!label) label = "";
_label_format_set(wd->resize_obj, sd->format);
 
+   if (!part) part = _text_aliases[0].real_part;
efl_text_set(efl_part(efl_super(obj, MY_CLASS), part), label);
 
if (int_ret)
diff --git a/src/lib/elementary/elm_layout.c b/src/lib/elementary/elm_layout.c
index b15c99c241..5aa13a942b 100644
--- a/src/lib/elementary/elm_layout.c
+++ b/src/lib/elementary/elm_layout.c
@@ -2325,10 +2325,7 @@ elm_layout_table_clear(Elm_Layout *obj, const char 
*part, Eina_Bool clear)
 EAPI Eina_Bool
 elm_layout_text_set(Elm_Layout *obj, const char *part, const char *text)
 {
-   if (!part || (*part == '\0'))
- {
-part = "elm.text";
- }
+   if (!part) part = "elm.text";
efl_text_set(efl_part(obj, part), text);
return EINA_TRUE;
 }

-- 




[EGIT] [core/efl] master 01/03: dmabuf: Make a define for the version of the dmabuf attribute struct

2017-06-29 Thread Derek Foreman
derekf pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=892bfe7c98eedcc8f40e952d27ba3f65db6f0fed

commit 892bfe7c98eedcc8f40e952d27ba3f65db6f0fed
Author: Derek Foreman 
Date:   Thu Jun 29 13:51:07 2017 -0500

dmabuf: Make a define for the version of the dmabuf attribute struct

I should've done this in the first place, and the version checks are
starting to spread out a bit.
---
 src/modules/evas/engines/gl_drm/evas_engine.c  | 2 +-
 src/modules/evas/engines/software_generic/evas_native_common.h | 2 ++
 src/modules/evas/engines/software_generic/evas_native_dmabuf.c | 2 +-
 3 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/modules/evas/engines/gl_drm/evas_engine.c 
b/src/modules/evas/engines/gl_drm/evas_engine.c
index b1083a18aa..fe69ef0dcc 100644
--- a/src/modules/evas/engines/gl_drm/evas_engine.c
+++ b/src/modules/evas/engines/gl_drm/evas_engine.c
@@ -1320,7 +1320,7 @@ eng_image_native_set(void *engine, void *image, void 
*native)
  struct dmabuf_attributes *a;
 
  a = ns->data.wl_dmabuf.attr;
- if (a->version != 1)
+ if (a->version != EVAS_DMABUF_ATTRIBUTE_VERSION)
{
   glsym_evas_gl_common_image_free(img);
   return NULL;
diff --git a/src/modules/evas/engines/software_generic/evas_native_common.h 
b/src/modules/evas/engines/software_generic/evas_native_common.h
index a3b721dc39..de3533550d 100644
--- a/src/modules/evas/engines/software_generic/evas_native_common.h
+++ b/src/modules/evas/engines/software_generic/evas_native_common.h
@@ -29,6 +29,8 @@
 
 //#include 
 
+#define EVAS_DMABUF_ATTRIBUTE_VERSION 1
+
 struct dmabuf_attributes
 {
   /* This must exactly match the struct in Enlightenment.
diff --git a/src/modules/evas/engines/software_generic/evas_native_dmabuf.c 
b/src/modules/evas/engines/software_generic/evas_native_dmabuf.c
index f01a6c4751..bd88850ab4 100644
--- a/src/modules/evas/engines/software_generic/evas_native_dmabuf.c
+++ b/src/modules/evas/engines/software_generic/evas_native_dmabuf.c
@@ -107,7 +107,7 @@ _evas_native_dmabuf_surface_image_set(void *image, void 
*native)
 if (!n) return NULL;
 
 a = ns->data.wl_dmabuf.attr;
-if (a->version != 1)
+if (a->version != EVAS_DMABUF_ATTRIBUTE_VERSION)
   {
  free(n);
  return NULL;

-- 




[EGIT] [core/efl] master 02/03: software_generic: Check dmabuf attribute version during set

2017-06-29 Thread Derek Foreman
derekf pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=2e0e017b87f77f97d0398c19372990eda7886072

commit 2e0e017b87f77f97d0398c19372990eda7886072
Author: Derek Foreman 
Date:   Thu Jun 29 13:52:53 2017 -0500

software_generic: Check dmabuf attribute version during set

We should check here instead of only at time of usage.
---
 src/modules/evas/engines/software_generic/evas_engine.c | 16 +++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/src/modules/evas/engines/software_generic/evas_engine.c 
b/src/modules/evas/engines/software_generic/evas_engine.c
index 05078fd12f..f58fb494d3 100644
--- a/src/modules/evas/engines/software_generic/evas_engine.c
+++ b/src/modules/evas/engines/software_generic/evas_engine.c
@@ -1134,7 +1134,21 @@ eng_image_native_set(void *data EINA_UNUSED, void 
*image, void *native)
RGBA_Image *im = image;
Image_Entry *ie = image, *ie2;
 
-   if (!im) return NULL;
+   if (!im)
+ {
+/* This is a probe for wl_dmabuf viability */
+if (ns && ns->type == EVAS_NATIVE_SURFACE_WL_DMABUF &&
+!ns->data.wl_dmabuf.resource)
+  {
+ struct dmabuf_attributes *attr;
+
+ attr = ns->data.wl_dmabuf.attr;
+ if (attr->version != EVAS_DMABUF_ATTRIBUTE_VERSION)
+   ns->data.wl_dmabuf.attr = NULL;
+  }
+
+return NULL;
+ }
if (!ns)
  {
 if (im->native.data && im->native.func.free)

-- 




[EGIT] [core/enlightenment] master 01/01: Test dmabuf via native_surface_set even in software render

2017-06-29 Thread Derek Foreman
derekf pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=e26f2a12f53e6790950c91d6766f014f834cc2b1

commit e26f2a12f53e6790950c91d6766f014f834cc2b1
Author: Derek Foreman 
Date:   Thu Jun 29 13:37:58 2017 -0500

Test dmabuf via native_surface_set even in software render

This is necessary to verify the the attributes struct is the same
version EFL can process, before we commit to displaying it.

@fix
---
 src/bin/e_pixmap.c | 27 +--
 1 file changed, 13 insertions(+), 14 deletions(-)

diff --git a/src/bin/e_pixmap.c b/src/bin/e_pixmap.c
index ed63c18b9..3dd608ef0 100644
--- a/src/bin/e_pixmap.c
+++ b/src/bin/e_pixmap.c
@@ -1107,25 +1107,24 @@ e_pixmap_dmabuf_test(struct linux_dmabuf_buffer *dmabuf)
 {
Evas_Native_Surface ns;
Evas_Object *test;
+   Eina_Bool ret;
int size;
void *data;
 
memset(, 0, sizeof(ns));
 
-   if (e_comp->gl)
- {
-Eina_Bool ret;
-ns.type = EVAS_NATIVE_SURFACE_WL_DMABUF;
-ns.version = EVAS_NATIVE_SURFACE_VERSION;
-ns.data.wl_dmabuf.attr = >attributes;
-ns.data.wl_dmabuf.resource = NULL;
-test = evas_object_image_add(e_comp->evas);
-evas_object_image_native_surface_set(test, );
-ret = evas_object_image_load_error_get(test) == EVAS_LOAD_ERROR_NONE;
-evas_object_del(test);
-if (!ns.data.wl_dmabuf.attr) return EINA_FALSE;
-return ret;
- }
+   ns.type = EVAS_NATIVE_SURFACE_WL_DMABUF;
+   ns.version = EVAS_NATIVE_SURFACE_VERSION;
+   ns.data.wl_dmabuf.attr = >attributes;
+   ns.data.wl_dmabuf.resource = NULL;
+   test = evas_object_image_add(e_comp->evas);
+   evas_object_image_native_surface_set(test, );
+   ret = evas_object_image_load_error_get(test) == EVAS_LOAD_ERROR_NONE;
+   evas_object_del(test);
+   if (!ns.data.wl_dmabuf.attr) return EINA_FALSE;
+
+   if (e_comp->gl || !ret)
+  return ret;
 
/* TODO: Software rendering for multi-plane formats */
if (dmabuf->attributes.n_planes != 1) return EINA_FALSE;

-- 




[EGIT] [core/efl] master 03/03: gl_drm: Check dmabuf attribute version before trusting attributes

2017-06-29 Thread Derek Foreman
derekf pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=944a4065e8c21a082d1eb826e243f9d813ed8876

commit 944a4065e8c21a082d1eb826e243f9d813ed8876
Author: Derek Foreman 
Date:   Thu Jun 29 13:54:48 2017 -0500

gl_drm: Check dmabuf attribute version before trusting attributes

We shouldn't do anything with a dmabuf structure until confirming the
version matches the one we know.
---
 src/modules/evas/engines/gl_drm/evas_engine.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/modules/evas/engines/gl_drm/evas_engine.c 
b/src/modules/evas/engines/gl_drm/evas_engine.c
index fe69ef0dcc..44134464e8 100644
--- a/src/modules/evas/engines/gl_drm/evas_engine.c
+++ b/src/modules/evas/engines/gl_drm/evas_engine.c
@@ -1197,10 +1197,11 @@ eng_image_native_set(void *engine, void *image, void 
*native)
  if (!ns->data.wl_dmabuf.resource)
{
   struct dmabuf_attributes *attr;
-  void *v;
+  void *v = NULL;
 
   attr = ns->data.wl_dmabuf.attr;
-  v = gl_import_simple_dmabuf(ob->egl.disp, attr);
+  if (attr->version == EVAS_DMABUF_ATTRIBUTE_VERSION)
+v = gl_import_simple_dmabuf(ob->egl.disp, attr);
   if (!v) {
ns->data.wl_dmabuf.attr = NULL;
return NULL;

-- 




[EGIT] [tools/edi] master 02/02: ui: Use correct icon naming for FDO arrows

2017-06-29 Thread Andy Williams
ajwillia-ms pushed a commit to branch master.

http://git.enlightenment.org/tools/edi.git/commit/?id=a8d62ded23d6c5dea26a30a4be9363d7b0edf1b1

commit a8d62ded23d6c5dea26a30a4be9363d7b0edf1b1
Author: Andy Williams 
Date:   Thu Jun 29 21:25:26 2017 +

ui: Use correct icon naming for FDO arrows
---
 src/bin/edi_main.c | 38 +++---
 1 file changed, 19 insertions(+), 19 deletions(-)

diff --git a/src/bin/edi_main.c b/src/bin/edi_main.c
index 4b5075f..02d8d45 100644
--- a/src/bin/edi_main.c
+++ b/src/bin/edi_main.c
@@ -242,12 +242,12 @@ _edi_toggle_file_panel(void *data, Evas_Object *obj 
EINA_UNUSED, void *event_inf
 
if (size == 0.0)
  {
-elm_icon_standard_set(_edi_filepanel_icon, "stock_left");
+elm_icon_standard_set(_edi_filepanel_icon, "go-previous");
 _edi_slide_panel_new(_edi_leftpanes, panel, 
_edi_project_config->gui.leftsize, EINA_TRUE, EINA_TRUE);
  }
else
  {
-elm_icon_standard_set(_edi_filepanel_icon, "stock_right");
+elm_icon_standard_set(_edi_filepanel_icon, "go-next");
 _edi_slide_panel_new(_edi_leftpanes, panel, 
_edi_project_config->gui.leftsize, EINA_FALSE, EINA_TRUE);
  }
 }
@@ -273,7 +273,7 @@ _edi_toggle_panel(void *data, Evas_Object *obj, void 
*event_info)
 
if (item == _edi_selected_bottompanel)
  {
-elm_toolbar_item_icon_set(item, "stock_up");
+elm_toolbar_item_icon_set(item, "go-up");
 
 _edi_slide_panel_new(_edi_bottompanes, panel, 
_edi_project_config->gui.bottomsize, EINA_FALSE, EINA_FALSE);
 _edi_selected_bottompanel = NULL;
@@ -281,8 +281,8 @@ _edi_toggle_panel(void *data, Evas_Object *obj, void 
*event_info)
else
  {
 if (_edi_selected_bottompanel)
-  elm_toolbar_item_icon_set(_edi_selected_bottompanel, "stock_up");
-elm_toolbar_item_icon_set(item, "stock_down");
+  elm_toolbar_item_icon_set(_edi_selected_bottompanel, "go-up");
+elm_toolbar_item_icon_set(item, "go-down");
 
 size = elm_panes_content_right_size_get(_edi_bottompanes);
 if (size == 0.0)
@@ -382,9 +382,9 @@ edi_content_setup(Evas_Object *win, const char *path)
 
icon = elm_icon_add(content_in);
if (_edi_project_config->gui.leftopen)
- elm_icon_standard_set(icon, "stock_left");
+ elm_icon_standard_set(icon, "go-previous");
else
- elm_icon_standard_set(icon, "stock_right");
+ elm_icon_standard_set(icon, "go-next");
button = elm_button_add(content_in);
elm_object_part_content_set(button, "icon", icon);
elm_object_focus_allow_set(button, EINA_FALSE);
@@ -434,27 +434,27 @@ edi_content_setup(Evas_Object *win, const char *path)
 
_edi_toolbar_separator_add(tb);
 
-   _edi_logpanel_item = elm_toolbar_item_append(tb, "stock_up", "Logs",
+   _edi_logpanel_item = elm_toolbar_item_append(tb, "go-up", "Logs",
 _edi_toggle_panel, "0");
_edi_toolbar_separator_add(tb);
 
-   _edi_consolepanel_item = elm_toolbar_item_append(tb, "stock_up", "Console",
+   _edi_consolepanel_item = elm_toolbar_item_append(tb, "go-up", "Console",
 _edi_toggle_panel, "1");
_edi_toolbar_separator_add(tb);
 
-   _edi_testpanel_item = elm_toolbar_item_append(tb, "stock_up", "Tests",
+   _edi_testpanel_item = elm_toolbar_item_append(tb, "go-up", "Tests",
  _edi_toggle_panel, "2");
_edi_toolbar_separator_add(tb);
 
-   _edi_searchpanel_item = elm_toolbar_item_append(tb, "stock_up", "Search",
+   _edi_searchpanel_item = elm_toolbar_item_append(tb, "go-up", "Search",
  _edi_toggle_panel, "3");
_edi_toolbar_separator_add(tb);
 
-   _edi_taskspanel_item = elm_toolbar_item_append(tb, "stock_up", "Tasks",
+   _edi_taskspanel_item = elm_toolbar_item_append(tb, "go-up", "Tasks",
   _edi_toggle_panel, "4");
_edi_toolbar_separator_add(tb);
 
-   _edi_debugpanel_item = elm_toolbar_item_append(tb, "stock_up", "Debug",
+   _edi_debugpanel_item = elm_toolbar_item_append(tb, "go-up", "Debug",
   _edi_toggle_panel, "5");
_edi_toolbar_separator_add(tb);
 
@@ -503,32 +503,32 @@ edi_content_setup(Evas_Object *win, const char *path)
 elm_panes_content_right_size_set(logpane, 
_edi_project_config->gui.bottomsize);
 if (_edi_project_config->gui.bottomtab == 1)
   {
- elm_toolbar_item_icon_set(_edi_consolepanel_item, "stock_down");
+ elm_toolbar_item_icon_set(_edi_consolepanel_item, "go-down");
  _edi_selected_bottompanel = _edi_consolepanel_item;
   }
 else if (_edi_project_config->gui.bottomtab == 2)
   {
- elm_toolbar_item_icon_set(_edi_testpanel_item, "stock_down");
+ 

[EGIT] [tools/edi] master 01/02: config: Correct project name comparison for substrings

2017-06-29 Thread Andy Williams
ajwillia-ms pushed a commit to branch master.

http://git.enlightenment.org/tools/edi.git/commit/?id=a34a71f8f64c9167fa3f96ef95c1b3e9e17cc9ee

commit a34a71f8f64c9167fa3f96ef95c1b3e9e17cc9ee
Author: Andy Williams 
Date:   Thu Jun 29 21:18:15 2017 +

config: Correct project name comparison for substrings
---
 src/bin/edi_config.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/bin/edi_config.c b/src/bin/edi_config.c
index 93339bd..4ae8549 100644
--- a/src/bin/edi_config.c
+++ b/src/bin/edi_config.c
@@ -353,7 +353,8 @@ _edi_config_project_add(const char *path)
 
EINA_LIST_FOREACH_SAFE(_edi_config->projects, list, next, project)
  {
-if (!strncmp(project->path, path, strlen(project->path)))
+if (strlen(project->path) == strlen(path) &&
+!strncmp(project->path, path, strlen(project->path)))
   _edi_config->projects = eina_list_remove_list(_edi_config->projects, 
list);
  }
 

-- 




[E-devel] chart library based on the EFL

2017-06-29 Thread Vincent Torri
Hello

I would like to introduce a small library which renders chart using
Evas VG API :

https://github.com/vtorri/echart2

I try to mimic a bit the area chart of google :

https://developers.google.com/chart/interactive/docs/gallery/areachart

It consist of a library and a test example.

The library consists of
 * a data API to fill data
 * a chart API for the chart features
 * an evas smart object for a "line" chart

the test example is the first 'area' example in google charts

I have attached a screenshot of the example

The library is in its very early state and is wip. There may be bugs
and a lot of improvements can be done of course

the build system is meson + ninja (see README.md for instructions).
Just install meson and ninja with your favorite package manager

I have tested echart on Windows and Fedora.

Any patches, remarks and ideas are welcome

Vincent
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] EFL Profiling Viewer Released!

2017-06-29 Thread William L. Thomson Jr.
I agree its good stuff and the timing of others comments is ironic. I
just was making a Gentoo ebuild for this yesterday. I was going to ask
about build systems, and others comments showed up :)

I got ahead of myself and noticed there is no build system. Unless I
grabbed the wrong repo. Unless there is another repo that has that.
Which do you plan to use autotools or cmake?

Good stuff either way! Though if it remains as its own project, may go
with just like EFL Profiler, not sure Viewer is needed and makes the
name a bit long. But thats pretty moot.

Thanks for the work!

-- 
William L. Thomson Jr.


pgpsdSahy27Lc.pgp
Description: OpenPGP digital signature
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: Evas textblock: fix legacy_newline in legacy API

2017-06-29 Thread Daniel Hirt
herdsman pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=4024857bf6098b91ed3859fac9bfc149b4db3b81

commit 4024857bf6098b91ed3859fac9bfc149b4db3b81
Author: Daniel Hirt 
Date:   Sun Jun 25 13:21:52 2017 +0300

Evas textblock: fix legacy_newline in legacy API

Fixes 4fda417bc9e0c59f3a3645057279a29cc0057cd2 that disabled
legacy_newline for both legacy (textblock) and new (canvas text) api.
It should enable legacy_newline for legacy.
---
 src/lib/evas/canvas/evas_object_textblock.c | 7 +++
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/src/lib/evas/canvas/evas_object_textblock.c 
b/src/lib/evas/canvas/evas_object_textblock.c
index a85cef5646..7806cce028 100644
--- a/src/lib/evas/canvas/evas_object_textblock.c
+++ b/src/lib/evas/canvas/evas_object_textblock.c
@@ -6650,11 +6650,14 @@ _find_layout_line_num(const Evas_Object *eo_obj, int 
line)
 EAPI Evas_Object *
 evas_object_textblock_add(Evas *e)
 {
+   Efl_Canvas_Text_Data *o;
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
return NULL;
MAGIC_CHECK_END();
Evas_Object *eo_obj = efl_add(MY_CLASS, e,
  efl_text_multiline_set(efl_added, EINA_TRUE));
+   o = efl_data_scope_get(eo_obj, MY_CLASS);
+   o->legacy_newline = EINA_TRUE;
return eo_obj;
 }
 
@@ -6677,9 +6680,6 @@ _efl_canvas_text_efl_object_constructor(Eo *eo_obj, 
Efl_Canvas_Text_Data *class_
o->cursors = eina_list_remove_list(o->cursors, o->cursors);
_format_command_init();
evas_object_textblock_init(eo_obj);
-   // Override legacy newline (enabled in legacy textblock through
-   //   textblock_init.
-   o->legacy_newline = EINA_FALSE;
 
_FMT(ref) = 1;
_FMT(halign) = 0.0;
@@ -12907,7 +12907,6 @@ evas_object_textblock_init(Evas_Object *eo_obj)
co->obj = eo_obj;
evas_object_textblock_text_markup_set(eo_obj, "");
 
-   o->legacy_newline = EINA_TRUE;
o->multiline = EINA_FALSE;
 #ifdef BIDI_SUPPORT
o->inherit_paragraph_direction = EINA_TRUE;

-- 




[E-devel] EFL 1.20.0 alpha 1

2017-06-29 Thread Stefan Schmidt
This alpha release for 1.20 starts the freeze period and stabilization 
phase for the 1.20 release cycle.


**Download**

http://download.enlightenment.org/rel/libs/efl/efl-1.20.0-alpha1.tar.gz
34dc7d890c727609aab281c833f3e052755a23e8f0241dec5372bfe3c1ce30da |

http://download.enlightenment.org/rel/libs/efl/efl-1.20.0-alpha1.tar.xz
eae0d9dbd01ba40d8408924d4dbaa08da07a149908d655eebc9cf0182436f241

**Features:**
   * evas: Make save() work on snapshots (T2102)
   * ecore-drm2: Add support for plane formats
   * ecore-drm2: Support multiple planes on a given output
   * ecore-drm2: Add hardware plane functions
   * ecore-drm2: Add API function to set plane destination
   * ecore-drm2: Add library symlink to merge atomic commit requests
   * ecore-drm2: Add API functions for atomic commit test and commit
   * eo: Add new API efl_cast (T5311)
   * Ecore_Win32: add ecore_win32_window_state_get() API to retrieve a 
window states

   * Ecore_Win32: add Property event API
   * Ecore_Win32: add API to retrieve the geometry and dpi of plugged 
displays

   * evas map: Introduce new API for maps (Efl.Gfx.Map)
   * evas map: Reach feature parity with legacy API
   * ecore-evas: add function for unsetting a specific seat's cursor
   * ecore-wl2: store names for inputs and add api for retrieving name
   * ecore-wl2: add some accessors for useful Ecore_Wl2_Input struct 
members
   * ecore-wl2: add function for checking if a client connection sync 
is done
   * ecore-wl2: change selection setting apis to return the serial of 
the request
   * ecore-wl2: add events for changes in keymap, selection, and kbd 
repeat rate

   * ecore-wl2: add function for accepting a single mime type
   * ecore-wl2: add function for setting a drag source's actions 
without a drag

   * ecore-wl2: add functions for proxying a selection receive externally
   * efl_input_device: add seat_id property
   * evas_device: add seat_id property, set seat id for default 
fallback seat

   * ecore-wl2: add ecore_wl2_display_input_find()
   * ecore-wl2: add ecore_wl2_display_name_get()
   * elm_cnp: add event for selection change
   * elm_cnp: add elm_cnp_clipboard_selection_has_owner()
   * elm_win: add elm_win_get()
   * ecore-wl2: add ecore_wl2_display_input_find_by_name()
   * ecore-wl2: add ecore_wl2_window_activated_get()
   * ecore-wl2: add ecore_wl2_window_popup_input_set()
   * evas: add evas_device_get_by_seat_id()
   * edje: Implement EO API for message_send
   * evas: Add children_iterate to Efl.Input.Device
   * evas/elm: Add Efl.Image.image_size read-only property
   * elput: group tablet input devices into pointer devices
   * elput: add initial input tablet support
   * ecore-wl2: implement compose keys (T5006)
   * elput: implement compose sequences (T5006)
   * wayland/drm: create evas_devices and add device pointer to input 
events

   * Efl text: add Font, Format and Style interfaces
   * Canvas text: implement Font, Format and Style interfaces
   * edje: Add recursive flag for message_signal_process
   * eolian: add new unit API
   * Efl.Ui.Image.Zoomable: implement Ui.Image.icon property
   * ecore-wl2: Add event for output transformation
   * ecore-wl2: Add API function to find an output for given window
   * ecore-wl2: Add API function to return an output transformation
   * ecore-wl2: Add API function to set surface buffer transform
   * evas_map: support map with number of points as multiples of 4
   * efl.gfx.map: support for map points as multiples of 4
   * elput: Add API function to swap dx & dy axis from pointer motion event
   * ecore-drm2: Add API function to set pointer rotation
   * Efl.Ui.Image.Zoomable: make zoomable to work with edj file
   * ecore-wl2: Add API function to set if wm rotation is supported
   * ecore-wl2: Add API to get if window manager rotation is supported
   * ecore-wl2: Add API to set if an application has rotation a window
   * ecore-wl2: Add API to get if an application has set window rotation
   * ecore-wl2: Add API to set window preferred rotation
   * ecore-wl2: Add API to return a windows preferred rotation
   * ecore-wl2: Add API to set window available rotations
   * ecore-wl2: Add API to return window available rotations
   * ecore-wl2: Add API and event for window rotation change prepare
   * ecore-wl2: Add API and Event for window rotation change prepare done
   * ecore-wl2: Add API and Event for window rotation change request
   * ecore-wl2: Add API and Event for window rotation change done
   * ecore-wl2: Add event type for window rotate events
   * ecore-evas-wl: Add support for Window Manager rotations
   * efl_input_device: add function for determining if a device has 
pointer caps
   * evas: add some functions for determining if pointer coords are 
inside an object

   * evas: add new event_grabber smart-ish object
   * efl.canvas: Add "seat" (by id) and "device" (by name) properties
   * ecore-evas-wayland: Add aux_hint functions to Wayland Interface
   * ecore-wl2: Add event and 

[EGIT] [website/www-content] master 01/01: Wiki page efl-1.20.0-alpha1 changed with summary [created] by Stefan Schmidt

2017-06-29 Thread Stefan Schmidt
WWW-www.enlightenment.org pushed a commit to branch master.

http://git.enlightenment.org/website/www-content.git/commit/?id=4dbbba35e5fe70f5e0163ed9e65682ebf07f3352

commit 4dbbba35e5fe70f5e0163ed9e65682ebf07f3352
Author: Stefan Schmidt 
Date:   Thu Jun 29 06:12:34 2017 -0700

Wiki page efl-1.20.0-alpha1 changed with summary [created] by Stefan Schmidt
---
 pages/news/efl-1.20.0-alpha1.txt | 277 +++
 1 file changed, 277 insertions(+)

diff --git a/pages/news/efl-1.20.0-alpha1.txt b/pages/news/efl-1.20.0-alpha1.txt
new file mode 100644
index ..20d8b879
--- /dev/null
+++ b/pages/news/efl-1.20.0-alpha1.txt
@@ -0,0 +1,277 @@
+=== EFL 1.20.0 alpha 1 ===
+  * //2017-06-29 - by Stefan Schmidt//
+
+This alpha release for 1.20 starts the freeze period and stabilization phase 
for the 1.20 release cycle.
+
+**Download**
+
+|LINK| SHA256|
+| http://download.enlightenment.org/rel/libs/efl/efl-1.20.0-alpha1.tar.gz | 
34dc7d890c727609aab281c833f3e052755a23e8f0241dec5372bfe3c1ce30da |
+| http://download.enlightenment.org/rel/libs/efl/efl-1.20.0-alpha1.tar.xz | 
eae0d9dbd01ba40d8408924d4dbaa08da07a149908d655eebc9cf0182436f241 |
+
+**Features:**
+   * evas: Make save() work on snapshots (T2102)
+   * ecore-drm2: Add support for plane formats
+   * ecore-drm2: Support multiple planes on a given output
+   * ecore-drm2: Add hardware plane functions
+   * ecore-drm2: Add API function to set plane destination
+   * ecore-drm2: Add library symlink to merge atomic commit requests
+   * ecore-drm2: Add API functions for atomic commit test and commit
+   * eo: Add new API efl_cast (T5311)
+   * Ecore_Win32: add ecore_win32_window_state_get() API to retrieve a window 
states
+   * Ecore_Win32: add Property event API
+   * Ecore_Win32: add API to retrieve the geometry and dpi of plugged displays
+   * evas map: Introduce new API for maps (Efl.Gfx.Map)
+   * evas map: Reach feature parity with legacy API
+   * ecore-evas: add function for unsetting a specific seat's cursor
+   * ecore-wl2: store names for inputs and add api for retrieving name
+   * ecore-wl2: add some accessors for useful Ecore_Wl2_Input struct members
+   * ecore-wl2: add function for checking if a client connection sync is done
+   * ecore-wl2: change selection setting apis to return the serial of the 
request
+   * ecore-wl2: add events for changes in keymap, selection, and kbd repeat 
rate
+   * ecore-wl2: add function for accepting a single mime type
+   * ecore-wl2: add function for setting a drag source's actions without a drag
+   * ecore-wl2: add functions for proxying a selection receive externally
+   * efl_input_device: add seat_id property
+   * evas_device: add seat_id property, set seat id for default fallback seat
+   * ecore-wl2: add ecore_wl2_display_input_find()
+   * ecore-wl2: add ecore_wl2_display_name_get()
+   * elm_cnp: add event for selection change
+   * elm_cnp: add elm_cnp_clipboard_selection_has_owner()
+   * elm_win: add elm_win_get()
+   * ecore-wl2: add ecore_wl2_display_input_find_by_name()
+   * ecore-wl2: add ecore_wl2_window_activated_get()
+   * ecore-wl2: add ecore_wl2_window_popup_input_set()
+   * evas: add evas_device_get_by_seat_id()
+   * edje: Implement EO API for message_send
+   * evas: Add children_iterate to Efl.Input.Device
+   * evas/elm: Add Efl.Image.image_size read-only property
+   * elput: group tablet input devices into pointer devices
+   * elput: add initial input tablet support
+   * ecore-wl2: implement compose keys (T5006)
+   * elput: implement compose sequences (T5006)
+   * wayland/drm: create evas_devices and add device pointer to input events
+   * Efl text: add Font, Format and Style interfaces
+   * Canvas text: implement Font, Format and Style interfaces
+   * edje: Add recursive flag for message_signal_process
+   * eolian: add new unit API
+   * Efl.Ui.Image.Zoomable: implement Ui.Image.icon property
+   * ecore-wl2: Add event for output transformation
+   * ecore-wl2: Add API function to find an output for given window
+   * ecore-wl2: Add API function to return an output transformation
+   * ecore-wl2: Add API function to set surface buffer transform
+   * evas_map: support map with number of points as multiples of 4
+   * efl.gfx.map: support for map points as multiples of 4
+   * elput: Add API function to swap dx & dy axis from pointer motion event
+   * ecore-drm2: Add API function to set pointer rotation
+   * Efl.Ui.Image.Zoomable: make zoomable to work with edj file
+   * ecore-wl2: Add API function to set if wm rotation is supported
+   * ecore-wl2: Add API to get if window manager rotation is supported
+   * ecore-wl2: Add API to set if an application has rotation a window
+   * ecore-wl2: Add API to get if an application has set window rotation
+   * ecore-wl2: Add API to set window preferred rotation
+   * ecore-wl2: Add API to return a windows preferred rotation
+   * ecore-wl2: Add API to set window 

[EGIT] [core/efl] master 01/01: Evas textblock: re-apply paragraph position inference

2017-06-29 Thread Daniel Hirt
herdsman pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=a10f726fc5540196e9ac64fe5e1aa2951904910a

commit a10f726fc5540196e9ac64fe5e1aa2951904910a
Author: Daniel Hirt 
Date:   Thu Jun 29 13:57:54 2017 +0300

Evas textblock: re-apply paragraph position inference

For some reason, c39855a8ac6f86c2dd8b1856ed70f85e0e521f3e also seems to
address an issue with height calculations (although not mentioned in
the commit message).

It already went in v1.19, so by applying
b8beb6834b01f9688cb5e7aa177bacbc713318b9 I also reverted that behavior.
Seems like a correct one, so re-applying.

Fixes T5594
---
 src/lib/evas/canvas/evas_object_textblock.c | 12 ++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/lib/evas/canvas/evas_object_textblock.c 
b/src/lib/evas/canvas/evas_object_textblock.c
index c64f3007f6..a85cef5646 100644
--- a/src/lib/evas/canvas/evas_object_textblock.c
+++ b/src/lib/evas/canvas/evas_object_textblock.c
@@ -5493,8 +5493,16 @@ _layout_par(Ctxt *c)
 
  /* After this par we are no longer at the beginning, as there
   * must be some text in the par. */
- if (c->position == TEXTBLOCK_POSITION_START)
-c->position = TEXTBLOCK_POSITION_ELSE;
+ if (!EINA_INLIST_GET(c->par)->next)
+   {
+  c->position = (c->position == TEXTBLOCK_POSITION_START) ?
+ TEXTBLOCK_POSITION_SINGLE : TEXTBLOCK_POSITION_END;
+   }
+ else
+   {
+  if (c->position == TEXTBLOCK_POSITION_START)
+ c->position = TEXTBLOCK_POSITION_ELSE;
+   }
 
  if (c->par->last_fw > c->wmax) c->wmax = c->par->last_fw;
  return 0;

-- 




Re: [E-devel] Announcing: GL-accelerated blurs!

2017-06-29 Thread Jean-Philippe André
Hey,

The color is not in the blur itself, there's a rectangle above the
snapshot/blur.

I really didn't put much effort into this theme customization, feel free to
do so! :)
I doubt this should go into EFL for a couple of reasons:
 - It's a huge power drain
 - There are some bugs (missing redraws, or too many redraws)
 - It won't work on Wayland (client-side decorations, not server-side)

But I definitely agree we should put some love into this. Maybe work with
raster's flat theme as a base instead of the current default.

Best regards,

2017-06-29 21:01 GMT+09:00 Andrew Williams :

> Very nice indeed.
>
> I could not figure out how myself - but can we make this a darker blur?
> (the windows on a non-sharp background tend to blend in a little too much
> with this patch).
> Any chance we get this into EFL so the next E release gets a blurry theme?
>
> It works on software too but layering a few windows gets a tad slow ;)
>
> Nice work, thanks,
> Andy
>
> On Fri, 14 Apr 2017 at 11:45 Al Poole  wrote:
>
> > Just tried the patch, love this feature, thanks!!!
> >
> > On Fri, Apr 14, 2017 at 11:14 AM, Vincent Torri  >
> > wrote:
> >
> > > very nice ! good work :)
> > >
> > > Vincent
> > >
> > > On Fri, Apr 14, 2017 at 7:19 AM, Jean-Philippe André <
> j...@videolan.org>
> > > wrote:
> > > > Hello,
> > > >
> > > >
> > > > Some of you may already know it, but I've recently been working on
> > > > accelerating evas filters with GL shaders. In particular I focused on
> > the
> > > > blur filter.
> > > >
> > > > I have now merged my work in master (for 1.20) and it is thus
> possible
> > to
> > > > apply blur filters to your enlightenment's window borders.
> > > >
> > > > I'm interested in your feedback, if something doesn't work, if you
> > > observe
> > > > a memory leak, crash, etc... but also in the overall performance as I
> > > could
> > > > only test on a limited set of hardware.
> > > >
> > > >
> > > > Preview video:
> > > > https://www.youtube.com/watch?v=ZnJlpPgJivY
> > > >
> > > >
> > > > Here's a patch for the theme:
> > > > https://phab.enlightenment.org/F895504
> > > >
> > > >
> > > > Best regards,
> > > >
> > > > --
> > > > Jean-Philippe André
> > > > 
> > > --
> > > > Check out the vibrant tech community on one of the world's most
> > > > engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> > > > ___
> > > > enlightenment-devel mailing list
> > > > enlightenment-devel@lists.sourceforge.net
> > > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> > >
> > > 
> > > --
> > > Check out the vibrant tech community on one of the world's most
> > > engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> > > ___
> > > enlightenment-devel mailing list
> > > enlightenment-devel@lists.sourceforge.net
> > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> > >
> >
> > 
> --
> > Check out the vibrant tech community on one of the world's most
> > engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> > ___
> > enlightenment-devel mailing list
> > enlightenment-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> >
> --
> http://andywilliams.me
> http://ajwillia.ms
> 
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>



-- 
Jean-Philippe André
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Announcing: GL-accelerated blurs!

2017-06-29 Thread Andrew Williams
Very nice indeed.

I could not figure out how myself - but can we make this a darker blur?
(the windows on a non-sharp background tend to blend in a little too much
with this patch).
Any chance we get this into EFL so the next E release gets a blurry theme?

It works on software too but layering a few windows gets a tad slow ;)

Nice work, thanks,
Andy

On Fri, 14 Apr 2017 at 11:45 Al Poole  wrote:

> Just tried the patch, love this feature, thanks!!!
>
> On Fri, Apr 14, 2017 at 11:14 AM, Vincent Torri 
> wrote:
>
> > very nice ! good work :)
> >
> > Vincent
> >
> > On Fri, Apr 14, 2017 at 7:19 AM, Jean-Philippe André 
> > wrote:
> > > Hello,
> > >
> > >
> > > Some of you may already know it, but I've recently been working on
> > > accelerating evas filters with GL shaders. In particular I focused on
> the
> > > blur filter.
> > >
> > > I have now merged my work in master (for 1.20) and it is thus possible
> to
> > > apply blur filters to your enlightenment's window borders.
> > >
> > > I'm interested in your feedback, if something doesn't work, if you
> > observe
> > > a memory leak, crash, etc... but also in the overall performance as I
> > could
> > > only test on a limited set of hardware.
> > >
> > >
> > > Preview video:
> > > https://www.youtube.com/watch?v=ZnJlpPgJivY
> > >
> > >
> > > Here's a patch for the theme:
> > > https://phab.enlightenment.org/F895504
> > >
> > >
> > > Best regards,
> > >
> > > --
> > > Jean-Philippe André
> > > 
> > --
> > > Check out the vibrant tech community on one of the world's most
> > > engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> > > ___
> > > enlightenment-devel mailing list
> > > enlightenment-devel@lists.sourceforge.net
> > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> >
> > 
> > --
> > Check out the vibrant tech community on one of the world's most
> > engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> > ___
> > enlightenment-devel mailing list
> > enlightenment-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> >
>
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
-- 
http://andywilliams.me
http://ajwillia.ms
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] main menu breakage

2017-06-29 Thread Andrew Williams
Hi,

I meant to get this resolved at the weekend but we ran out of the time.
Some strange sizing issues have been haunting us (
https://phab.enlightenment.org/T5482) I have tracked it down to a main menu
that's bigger than the window content.

If someone can help please apply the attached patch to EFL then run
elementary_test and click "Main menu" - you will see a very unhappy
window...

First to solve this get's a special prize!

Thanks,
Andy
-- 
http://andywilliams.me
http://ajwillia.ms
diff --git a/src/bin/elementary/test_main_menu.c b/src/bin/elementary/test_main_menu.c
index 507a138709..04ab8d3736 100644
--- a/src/bin/elementary/test_main_menu.c
+++ b/src/bin/elementary/test_main_menu.c
@@ -33,8 +33,8 @@ test_main_menu(void *data EINA_UNUSED,
evas_object_show(bx);
 
label = elm_label_add(win);
-   elm_object_text_set(label, "Note: the D-Bus menu example requires support from the "
-  "desktop environment to display the application menu");
+   elm_object_text_set(label, "Note: the D-Bus..."); // menu example requires support from the "
+//  "desktop environment to display the application menu");
evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND,
 EVAS_HINT_EXPAND);
elm_box_pack_end(bx, label);
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] EFL Profiling Viewer Released!

2017-06-29 Thread Gustavo Sverzut Barbieri
looks very, very nice indeed :-)

do you have any plans to hook this with system profilers such as
`systemtap`/`oprofile`/`dtrace` and the likes?

On Thu, Jun 29, 2017 at 3:15 AM, Carsten Haitzler  wrote:
> On Fri, 23 Jun 2017 17:11:52 +0300 Mykyta Biliavskyi 
> 
> said:
>
> Well the page is brilliant.. the images/gifs you have... fantastic. i tried it
> on an older log file i had and it segfaulted :( it seems i now no longer
> know how to even produce evlog files now given jackdanielz changes... i have 
> to
> figure this out now again...
>
> you and jackdanielz need to work together ... i think this should go into
> clouseau (with log begin/end controls, dynamic update as logs come in and then
> the ability to inspect older logs...).
>
> and other than the above...
>
> this is BLOODY BRILLIANT. fantastic! like super duper amazing fantastic! i
> haven't looked how you do the cpu freq bars (i was using  rects... basically
> but i found they really did slow things down... so i was tossing up doing just
> image objects with custom generated ARGB pixel data).
>
> this is just simply FANTASTIC stuff. i was planning on coming back and adding
> per-frame/window update region info (and display it visually). what i had not
> decided on was how to capture the image of the window/frame each fram and
> display it nicely... that would make debugging simply amazing to have a
> thumbnail or even full image/frame capture per frame as well as everything.
> you could see what did and didn't draw that frame (did it overdraw? why? what
> triggered that change?). ...  go back and inspect "error frames" that you saw
> a glitch in but couldn't catch it easily... i hadn't decided on how to do this
> with evlog yet... but it'd likely have been a new kind of evlog "blob" with
> arbitrary binary data in it not just strings.
>
> truly awesome work here... nice!
>
>> Hello all!
>>
>> I am glad to announce that EFL Profiling Viewer is published at
>> enlightenment repos.
>> This project inspired by Raster evlog tool.
>> And done as Oleksii Piskun internship project.
>>
>> Description could be find here:
>> https://phab.enlightenment.org/w/projects/efl_profiling_viewer/
>> (Please help to place link into Application section on the phriction
>> main page)
>>
>> Source code available here:
>> https://git.enlightenment.org/devs/nikawhite/efl_profiler_viewer.git/
>>
>> Project and dashboards for ideas and bugs locates here:
>> https://phab.enlightenment.org/project/profile/151/
>>
>> Thanks for your feedbacks and support.
>>
>> NikaWhite
>>
>> --
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>> ___
>> enlightenment-devel mailing list
>> enlightenment-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>>
>
>
> --
> - Codito, ergo sum - "I code, therefore I am" --
> The Rasterman (Carsten Haitzler)ras...@rasterman.com
>
>
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel



-- 
Gustavo Sverzut Barbieri
--
Mobile: +55 (16) 99354-9890

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] annotated tag v1.20.0-alpha1 created (now 0945eda0ed)

2017-06-29 Thread Enlightenment Git
This is an automated email from the git hooks/post-receive script.

stefan pushed a change to annotated tag v1.20.0-alpha1
in repository core/efl.

at  0945eda0ed (tag)
   tagging  96ce1333b388e07a41ae62e0d3733bb6d9d0024d (commit)
  replaces  v1.19.0
 tagged by  Stefan Schmidt
on  Thu Jun 29 13:34:13 2017 +0200

- Log -
v1.20.0-alpha1

Al Poole (8):
  eio: improve Kevent (FreeBSD et. al)
  elm_code : LINE_APPEND Render fix
  efreetd: BSD optimizations.
  elm_code: fix carriage return at EOF scroller behaviour
  elm_code: fix cursor position (100%)
  examples: fix efl_net_control_example.c on BSD.
  efl_debugd: only compile this on Linux.
  eina: fix implicit declaration of pthread_set_name_np in eina_debug.

Amitesh Singh (56):
  Efl.Ui.Autorepeat: Add efl autorepeat interface
  Efl.Ui.Autorepeat: add 'autorepeat' prefix to methods.
  photocam: remove internal_image_get as eo api
  photocam: merge image_region_show() into image_region
  photocam: implement Efl.Gfx.View.view_size.get
  photocam: rename 'paused' API to 'zoom_animation'
  photocam: move zoom related APIs to Efl.Ui.Zoomable
  rename Efl.Ui.Zoomable to Efl.Ui.Zoom
  photocam: fix make distcheck
  nstate: correct the legacy class name
  check: fix efl_ui_check_selected_set() API
  rename elm_check to Efl.Ui.Check
  update po files after elm check rename
  config: fix keybindings for Efl.Ui.Check
  rename elm_button to Efl.Ui.Button
  Add po/* files changes after elm_button rename
  rename elm_radio to Efl.Ui.Radio
  update po/* files after elm_radio rename
  Efl.Ui.Check: correct the include gaurds name
  Efl.Ui.Radio: correct the 'changed' event name
  elm: rename elm_progressbar to Efl.Ui.Progressbar
  update po/* files after progressbar rename
  Efl.Ui.Progressbar: add pulse_mode & pulse as eo API
  Efl.Ui.Progressbar: Implement Efl.Ui.Progress intf for progressbar part
  elm: rename elm_photocam to Efl.Ui.Image.Zoomable
  Efl.Ui.Image.Zoomable: inherit from Efl.Ui.Image
  Efl.Ui.Image.Zoomable: implement Ui.Image.icon property
  tests:efl.ui.image: Add test case for icon api
  efl.ui.image: fix icon_get API
  tests:efl.ui.image.zoomable: add a test case for icon APIs
  Efl.Ui.Image: fix efl.player.playable.get API
  Efl.Ui.Image.Zoomable: implement efl.player.playable.get
  Efl.Ui.Image.Zoomable: implement efl.play.get/set
  Efl.Ui.Image.Zoomable: inherit elm.widget as class
  elm_test:ui.image.zoomable: Allow image click to enable/disable animation
  elm-test: ui.image.zoomable: make anim example to work with zoom
  Efl.Ui.Image.Zoomable: make zoomable to work with edj file
  elm test:image.zoomable: fix the compilation warnings
  elm slider: remove *not* required set/get{} from eo file
  elm slider: indicator_visible_mode - move API document at one place.
  elm: rename elm slider to Efl.Ui.Slider
  intf: Efl.Ui.Progress: Add progress_min_max property
  Efl.Ui.Slider: implement Efl.Ui.Progress.progress_min_max
  intf: rename progress to range
  slider: remove range APIs
  intf: range: rename unit_format to range_unit_format
  efl.ui.slider: rename data members related to interval apis
  Efl.Ui.Slider: rename data get macros
  Efl.Ui.Check: rename data get macros
  Efl.Ui.Progressbar: rename data get macros.
  Efl.Ui.Slider: move legacy APIs at the bottom of the file.
  Efl.Ui.Slider: implement slider internal part class
  Efl.Ui.Image.Zoomable: rename data get macros
  Efl.Ui.Image.Zoomable: move legacy APIs at the bottom of the file.
  elm test: image zoomable - allow gif to be played in test example
  spinner: don't allow dragging if widget is disabled

Andrii Kroitor (1):
  examples: fix ecore_exe_child example to work properly on Windows

Andy Williams (21):
  elm_code: Fix selection,start signal
  elm_code: Expose API for inserting text at cursor
  elm_code: fix make check, sorry
  elm_code: Move the 'default' font name and size into the theme.
  elm_code: Fix insertion of multiline content in widget
  elm_code: Add a save_as API call for writing buffers to a new file
  elm_code: Fix off by 1 in selection refactor
  Revert "elm_code: Add a save_as API call for writing buffers to a new 
file"
  elm_code: Fix crash on tabs in long lines
  elm_code: improving cursor move behavior.
  elm_code: reduce race conditions in rendering cursor
  elm_code: Allow multibyte characters to be entered
  elm_code: Fix possible crash when deleting a selection
  elm_code: Fix make check
  elm_code: Fix select-all column calculations
  elementary: Balance menu operations with an open method
  elementary: fix typos and warnings in my menu changes
  fix 

[EGIT] [core/efl] master 04/04: release: Update NEWS and bump version for 1.20.0-alpha1 release

2017-06-29 Thread Stefan Schmidt
stefan pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=96ce1333b388e07a41ae62e0d3733bb6d9d0024d

commit 96ce1333b388e07a41ae62e0d3733bb6d9d0024d
Author: Stefan Schmidt 
Date:   Thu Jun 29 12:49:09 2017 +0200

release: Update NEWS and bump version for 1.20.0-alpha1 release
---
 NEWS | 270 ++-
 configure.ac |   4 +-
 2 files changed, 271 insertions(+), 3 deletions(-)

diff --git a/NEWS b/NEWS
index 1aa67aaf61..4a86816b45 100644
--- a/NEWS
+++ b/NEWS
@@ -1,7 +1,275 @@
 ==
-EFL 1.19.0
+EFL 1.20.0
 ==
 
+Changes since 1.19.0:
+-
+
+Features:
+
+   * evas: Make save() work on snapshots (T2102)
+   * ecore-drm2: Add support for plane formats
+   * ecore-drm2: Support multiple planes on a given output
+   * ecore-drm2: Add hardware plane functions
+   * ecore-drm2: Add API function to set plane destination
+   * ecore-drm2: Add library symlink to merge atomic commit requests
+   * ecore-drm2: Add API functions for atomic commit test and commit
+   * eo: Add new API efl_cast (T5311)
+   * Ecore_Win32: add ecore_win32_window_state_get() API to retrieve a window 
states
+   * Ecore_Win32: add Property event API
+   * Ecore_Win32: add API to retrieve the geometry and dpi of plugged displays
+   * evas map: Introduce new API for maps (Efl.Gfx.Map)
+   * evas map: Reach feature parity with legacy API
+   * ecore-evas: add function for unsetting a specific seat's cursor
+   * ecore-wl2: store names for inputs and add api for retrieving name
+   * ecore-wl2: add some accessors for useful Ecore_Wl2_Input struct members
+   * ecore-wl2: add function for checking if a client connection sync is done
+   * ecore-wl2: change selection setting apis to return the serial of the 
request
+   * ecore-wl2: add events for changes in keymap, selection, and kbd repeat 
rate
+   * ecore-wl2: add function for accepting a single mime type
+   * ecore-wl2: add function for setting a drag source's actions without a drag
+   * ecore-wl2: add functions for proxying a selection receive externally
+   * efl_input_device: add seat_id property
+   * evas_device: add seat_id property, set seat id for default fallback seat
+   * ecore-wl2: add ecore_wl2_display_input_find()
+   * ecore-wl2: add ecore_wl2_display_name_get()
+   * elm_cnp: add event for selection change
+   * elm_cnp: add elm_cnp_clipboard_selection_has_owner()
+   * elm_win: add elm_win_get()
+   * ecore-wl2: add ecore_wl2_display_input_find_by_name()
+   * ecore-wl2: add ecore_wl2_window_activated_get()
+   * ecore-wl2: add ecore_wl2_window_popup_input_set()
+   * evas: add evas_device_get_by_seat_id()
+   * edje: Implement EO API for message_send
+   * evas: Add children_iterate to Efl.Input.Device
+   * evas/elm: Add Efl.Image.image_size read-only property
+   * elput: group tablet input devices into pointer devices
+   * elput: add initial input tablet support
+   * ecore-wl2: implement compose keys (T5006)
+   * elput: implement compose sequences (T5006)
+   * wayland/drm: create evas_devices and add device pointer to input events
+   * Efl text: add Font, Format and Style interfaces
+   * Canvas text: implement Font, Format and Style interfaces
+   * edje: Add recursive flag for message_signal_process
+   * eolian: add new unit API
+   * Efl.Ui.Image.Zoomable: implement Ui.Image.icon property
+   * ecore-wl2: Add event for output transformation
+   * ecore-wl2: Add API function to find an output for given window
+   * ecore-wl2: Add API function to return an output transformation
+   * ecore-wl2: Add API function to set surface buffer transform
+   * evas_map: support map with number of points as multiples of 4
+   * efl.gfx.map: support for map points as multiples of 4
+   * elput: Add API function to swap dx & dy axis from pointer motion event
+   * ecore-drm2: Add API function to set pointer rotation
+   * Efl.Ui.Image.Zoomable: make zoomable to work with edj file
+   * ecore-wl2: Add API function to set if wm rotation is supported
+   * ecore-wl2: Add API to get if window manager rotation is supported
+   * ecore-wl2: Add API to set if an application has rotation a window
+   * ecore-wl2: Add API to get if an application has set window rotation
+   * ecore-wl2: Add API to set window preferred rotation
+   * ecore-wl2: Add API to return a windows preferred rotation
+   * ecore-wl2: Add API to set window available rotations
+   * ecore-wl2: Add API to return window available rotations
+   * ecore-wl2: Add API and event for window rotation change prepare
+   * ecore-wl2: Add API and Event for window rotation change prepare done
+   * ecore-wl2: Add API and Event for window rotation change request
+   * ecore-wl2: Add API and Event for window rotation change done
+   * ecore-wl2: Add event type for window rotate events
+   * ecore-evas-wl: Add support for Window Manager rotations
+   * efl_input_device: add 

[EGIT] [core/efl] master 01/04: tests : eolain: make sure all the needed files for land in dist

2017-06-29 Thread Stefan Schmidt
stefan pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=a774fd93b6c8e984deafb45fa13abf38db0a0ffa

commit a774fd93b6c8e984deafb45fa13abf38db0a0ffa
Author: Stefan Schmidt 
Date:   Wed Jun 28 18:16:11 2017 +0200

tests : eolain: make sure all the needed files for land in dist

All kind of test files for the function pointer test in eolian have been
missing in dist and thus failed distcheck.
---
 src/Makefile_Eolian.am | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/src/Makefile_Eolian.am b/src/Makefile_Eolian.am
index 1a85c15118..09fa4d7085 100644
--- a/src/Makefile_Eolian.am
+++ b/src/Makefile_Eolian.am
@@ -94,6 +94,8 @@ tests/eolian/data/no_nmsp.eo \
 tests/eolian/data/import.eo \
 tests/eolian/data/decl.eo \
 tests/eolian/data/docs.eo \
+tests/eolian/data/function_types.eot \
+tests/eolian/data/function_as_argument.eo \
 tests/eolian/data/import_types.eot
 
 EOLIAN_TESTS_EOS_GENERATED = \
@@ -144,5 +146,9 @@ tests/eolian/data/class_simple_ref_legacy.h \
 tests/eolian/data/import_types_ref.h \
 tests/eolian/data/docs_ref.h \
 tests/eolian/data/docs_ref_legacy.h \
+tests/eolian/data/function_types_ref.h \
+tests/eolian/data/function_as_argument_impl_ref.c \
+tests/eolian/data/function_as_argument_ref.c \
+tests/eolian/data/function_as_argument_ref.h \
 tests/eolian/generated_future.eo \
 $(EOLIAN_TESTS_EOS)

-- 




[EGIT] [core/efl] master 03/04: build: split of BUILT_SOURCES cleanup from CLEANFILES

2017-06-29 Thread Stefan Schmidt
stefan pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=a8d41831d7ed44ad92725f6cf0c51935e15ae652

commit a8d41831d7ed44ad92725f6cf0c51935e15ae652
Author: Stefan Schmidt 
Date:   Thu Jun 29 11:37:29 2017 +0200

build: split of BUILT_SOURCES cleanup from CLEANFILES

This was another instance of the arguments list to long problem when the
file list of CLEANFILES got to long. During distclean the cleanup failed
and left tons of files sitting around. We rm these files in our own
local clean rule now.
---
 src/Makefile.am | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/src/Makefile.am b/src/Makefile.am
index 3231cd9266..48b00273b7 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -96,9 +96,6 @@ endif
 include Makefile_Eolian_Js.am
 include Makefile_Efl_Js.am
 
-# Make sure all generated files getting cleaned up
-CLEANFILES += $(BUILT_SOURCES)
-
 .PHONY: benchmark examples
 
 BENCHMARK_SUBDIRS = \
@@ -186,6 +183,7 @@ clean-local:
find . -type f -name check-results.xml -delete
rm -f $(GENERATED_JS_BINDINGS)
rm -f $(GENERATED_LUA_BINDINGS)
+   rm -f $(BUILT_SOURCES)
 
 install-exec-hook:
$(MKDIR_P) $(DESTDIR)$(libdir)

-- 




Re: [E-devel] Elm_Entry assuming markup input???

2017-06-29 Thread Andrew Williams
Hi,

Just to wrap this thread up following EDD:

* no-one is proposing that we remove the ability to mark up text through
the markup format mechanism, it is a great feature
* we cannot make changes to this legacy API as apps depend on it or have
adapted to it

* the new textblock API, which is currently plain text only is being
extended with a solid markup API
* The existing markup format will be supported through _markup_text_set or
similar API leaving text_set/get to be plain text only

It was beileved that this would satisfy all requirements whilst removing
any confusion about the nature of text encoding when using plain text.
This allows us to take a path-of-least-surprise approach for the new Eo
based text APIs

Thanks everyone for the discussion :)
Andy

On Sat, 24 Jun 2017 at 05:39 Carsten Haitzler  wrote:

> On Fri, 23 Jun 2017 21:55:14 +0200 Davide Andreoli  >
> said:
>
> > 2017-06-19 13:36 GMT+02:00 Daniel Hirt :
> > > Hi,
> > >
> > > On Mon, Jun 19, 2017 at 12:01 PM, Andrew Williams <
> a...@andywilliams.me>
> > > wrote:
> > >
> > >> Hi,
> > >>
> > >> Looking at the tests you point me at - selection (and the past) is a
> > plain
> > >> text copy with the markup stripped - exactly what I would expect for
> > >> text_get - but the current content transformed with the helper will
> not
> > get
> > >> you there - there is no built in interpretation of formatting - just
> > >> rendered understands it.
> > >>
> > >>
> > > "elm_entry_selection_get" returns the text in markup format. The test
> > prints
> > > both types one after another (markup followed by plaintext) using
> > > "elm_entry_markup_to_utf8".
> > > It is essential for copy & paste of markup text between two entry
> clients,
> > > so the pasted formatting is kept.
> > >
> > >
> > >> Overall the implementation feels wrong - supporting markup is great
> but
> > >> returning it inline in text_get feels like we are imposing internal
> > choices
> > >> on other devs.
> > >>
> > >> I note that the code considers format but only when interacting with
> > files
> > >> - so I can have plain text files but not plain text input.
> > >>
> > >>
> > > Right, it's a feature so you can load plain files. You specify the
> format
> > > you
> > > want to load (plaintext or markup). But, after the file is loaded, it's
> > > discarded.
> > >
> > > It's important to point out that because there's an actual
> representation
> > > (markup), it's costly to store both plaintext and markup content in the
> > > object.
> > > Asking you to convert using "markup_to_utf8" is understandable, as it
> what
> > > we would actually do internally if we were to add API to get the text
> in
> > > plaintext. It's only one function call away, and it's easier than just
> add
> > > more
> > > API to the widget. No need for a new function if there's a way to do
> this
> > > already.
> > >
> > >
> > >> Lastly the documentation clearly discussed markup capability but it
> > *never*
> > >> discusses encoding and there is no explicit mention that your text
> will
> > be
> > >> transformed after text_set. If it were then it should be symmetrically
> > >> transformed back on text_get - path of least surprise.
> > >>
> > >>
> > > Actually, it is not transformed on "text_set". You are expected to
> enter a
> > > markup-compatible text. Otherwise you will have the mentioned special
> > > characters (like "<") misinterpreted as markup. You can try with
> > > "elm_object_text_set" on an entry widget.
> > >
> > >
> > >> I don't quite understand why we would build formatting in as
> mandatory,
> > >> functionality is great but it should be possible to turn it off.
> > >>
> > >> I agree that people complain when markup is not supported in a widget
> but
> > >> that is the expectation we have set - consistency is very important
> > indeed
> > >> and I think we don't have it in this regard.
> > >>
> > >> Additionally I think the markup_to_utf8 methods are peculiarly named -
> > they
> > >> do no character encoding so the usage of utf8 is probably incorrect...
> > >>
> > >
> > > They're correct. UTF-8 is the standard plaintext encoding. We support
> > UTF-8,
> > > and provide converters for your convenience. You probably won't need
> those
> > > most
> > > of the time.
> > > Your plaintext is always "encoded", but you probably won't notice that
> > > because
> > > it's backward-compatible with US ASCII (1-byte per character).
> > >
> > >
> > >>
> > >> Andrew
> > >>
> > >>
> > > Lastly, I would like to mention "Efl.Ui.Text" - this new widget is a
> part
> > > of a
> > > rework of the Textblock object. It's in BETA stage.
> > > It does what you require: all text input is expected to be plaintext.
> > > There's no
> > > "markup" logic in it. Instead, you format your text by setting ranges
> and
> > > calling
> > > functions to apply formatting. Again, markup does not exist in this
> > object,
> >
> > What? no more markup support? 

[EGIT] [core/efl] master 01/02: efl/interface: emit path change event when stroke width change.

2017-06-29 Thread smohanty
jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=cf927cdb3414f6b2d3d056cccb98d2313dba228c

commit cf927cdb3414f6b2d3d056cccb98d2313dba228c
Author: smohanty 
Date:   Thu Jun 29 17:27:37 2017 +0900

efl/interface: emit path change event when stroke width change.

Reviewers: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4991
---
 src/lib/efl/interfaces/efl_gfx_shape.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/lib/efl/interfaces/efl_gfx_shape.c 
b/src/lib/efl/interfaces/efl_gfx_shape.c
index 203ca4d0dc..922f6b9226 100644
--- a/src/lib/efl/interfaces/efl_gfx_shape.c
+++ b/src/lib/efl/interfaces/efl_gfx_shape.c
@@ -157,10 +157,11 @@ _efl_gfx_shape_stroke_color_get(Eo *obj EINA_UNUSED, 
Efl_Gfx_Shape_Data *pd,
 }
 
 static void
-_efl_gfx_shape_stroke_width_set(Eo *obj EINA_UNUSED, Efl_Gfx_Shape_Data *pd,
-double w)
+_efl_gfx_shape_stroke_width_set(Eo *obj, Efl_Gfx_Shape_Data *pd, double w)
 {
pd->public.stroke.width = w;
+   efl_event_callback_legacy_call(obj, EFL_GFX_PATH_EVENT_CHANGED, NULL);
+   efl_event_callback_legacy_call(obj, EFL_GFX_EVENT_CHANGED, NULL);
 }
 
 static double

-- 




[EGIT] [core/efl] master 02/02: evas/vg: rewrite the vg example with more test cases

2017-06-29 Thread smohanty
jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=4650a62e85db6fbe84e07ca4b4304450cd5f47ba

commit 4650a62e85db6fbe84e07ca4b4304450cd5f47ba
Author: smohanty 
Date:   Thu Jun 29 17:20:45 2017 +0900

evas/vg: rewrite the vg example with more test cases

basic shape, stroke, transformation, interpolation test cases added

Reviewers: jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D4992
---
 src/examples/evas/evas-vg-simple.c | 610 ++---
 1 file changed, 425 insertions(+), 185 deletions(-)

diff --git a/src/examples/evas/evas-vg-simple.c 
b/src/examples/evas/evas-vg-simple.c
index 4bcdd970b2..30eed1edac 100644
--- a/src/examples/evas/evas-vg-simple.c
+++ b/src/examples/evas/evas-vg-simple.c
@@ -15,8 +15,8 @@
 #define PACKAGE_EXAMPLES_DIR "."
 #endif
 
-#define WIDTH 400
-#define HEIGHT 400
+#define WIDTH 600
+#define HEIGHT 600
 
 #ifndef EFL_BETA_API_SUPPORT
 #define EFL_BETA_API_SUPPORT
@@ -26,8 +26,6 @@
 #define EFL_EO_API_SUPPORT
 #endif
 
-#include 
-
 #include 
 #include 
 #include 
@@ -35,28 +33,58 @@
 #include 
 #include 
 
-#define PATH_KAPPA 0.5522847498
-#define PI 3.1415926535
-
-static Efl_VG *beginning = NULL;
-static Efl_VG *end = NULL;
-static Efl_VG *root = NULL;
-static double start_time = 0;
-static Ecore_Animator *anim = NULL;
-
 struct example_data
 {
Ecore_Evas  *ee;
Evas*evas;
Evas_Object *bg;
Evas_Object *vg;
+   Eina_List   *shape_list;
+
 };
 
 static struct example_data d;
+Ecore_Animator *animator;
+static const char *batman = "M 256,213 C 245,181 206,187 234,262 147,181 
169,71.2 233,18 220,56 235,81 283,88 285,78.7 286,69.3 288,60 289,61.3 290,62.7 
291,64 291,64 297,63 300,63 303,63 309,64 309,64 310,62.7 311,61.3 312,60 
314,69.3 315,78.7 317,88 365,82 380,56 367,18 431,71 453,181 366,262 394,187 
356,181 344,213 328,185 309,184 300,284 291,184 272,185 256,213 Z";
+
+static const char *morph1[2] = {"M 0,0 L 0,0 L 100,0 L 100,0 L 100,100 L 
100,100 L 0,100 L 0,100 L 0,0",
+"M 0,0 L 50,-80 L 100,0 L 180,50 L 100,100 L 
50,180 L 0,100 L -80,50 L 0,0"};
+
+static void _main_menu();
+static void _main_menu_key_handle(void *data, Evas *evas, Evas_Object *o, void 
*einfo);
+
+static const char *main_menu = \
+  "Main Menu:\n"
+  "\t1 - Basic Shape test\n"
+  "\t2 - Interpolation\n"
+  "\te - Exit\n"
+  "\th - print help\n";
+
+static const char *basic_shape_menu = \
+  "Basic Shape Menu:\n"
+  "\tup   - Increase Stroke Width by 0.5\n"
+  "\tdown - Decrease Stroke Width by 0.5\n"
+  "\tr- +10 degree rotation\n"
+  "\tR- -10 degree rotation\n"
+  "\ts- +(.1, .1) scale\n"
+  "\tS- -(.1, .1) scale\n"
+  "\tt- +(10,10) translation\n"
+  "\tT- +(10,10) translation\n"
+  "\td- Reset path data\n"
+  "\te- Exit\n"
+  "\tb- Back to Main Menu\n"
+  "\th- print help\n";
+
+static const char *interpolation_menu = \
+  "Interpolation Menu:\n"
+  "\te- Exit\n"
+  "\tb- Back to Main Menu\n"
+  "\th- print help\n";
 
 static void
 _on_delete(Ecore_Evas *ee EINA_UNUSED)
 {
+   if (animator) ecore_animator_del(animator);
ecore_main_loop_quit();
 }
 
@@ -71,193 +99,414 @@ _canvas_resize_cb(Ecore_Evas *ee)
 }
 
 static void
-vector_set(int x, int y, int w, int h)
+reset_test()
 {
-   int vg_w = w, vg_h = h;
-   Efl_VG *root_node, *tmp_vg;
+  if(d.vg) evas_object_del(d.vg);
+  d.shape_list = eina_list_free(d.shape_list);
 
-   //Create VG Object
-   Evas_Object *tmp = evas_object_rectangle_add(d.evas);
-   evas_object_resize(tmp, vg_w, vg_h);
-   evas_object_color_set(tmp, 100, 100, 50, 100);
-   evas_object_move(tmp, x,y);
-   evas_object_show(tmp);
 
-   d.vg = evas_object_vg_add(d.evas);
-   evas_object_resize(d.vg, vg_w, vg_h);
-   evas_object_move(d.vg, x,y);
-   evas_object_show(d.vg);
-   evas_object_clip_set(d.vg, tmp);
-
- // Applying map on the evas_object_vg
-//   Evas_Map *m = evas_map_new(4);
-//   evas_map_smooth_set(m, EINA_TRUE);
-//   evas_map_util_points_populate_from_object_full(m, d.vg, 0);
-//   evas_map_util_rotate(m, 10, 0,0);
-//   evas_object_map_enable_set(d.vg, EINA_TRUE);
-//   evas_object_map_set(d.vg, m);
-
-   // apply some transformation
-   double radian = 30.0 * 2 * 3.141 / 360.0;
-   Eina_Matrix3 matrix;
-   eina_matrix3_identity();
-   eina_matrix3_rotate(, radian);
-
-   root = efl_add(EFL_VG_CONTAINER_CLASS, NULL);
-   //evas_vg_node_transformation_set(root, );
-
-   Efl_VG *bg = efl_add(EFL_VG_SHAPE_CLASS, root, efl_vg_name_set(efl_added, 
"bg"));
-   evas_vg_shape_append_rect(bg, 0, 0 , vg_w, vg_h, 0, 0);
-   evas_vg_node_origin_set(bg, 0,0);
-   evas_vg_shape_stroke_width_set(bg, 1.0);
-   evas_vg_node_color_set(bg, 80, 80, 80, 80);
-
-   Efl_VG *shape = efl_add(EFL_VG_SHAPE_CLASS, root, 
efl_vg_name_set(efl_added, "shape"));
-   Efl_VG *rgradient = 

[EGIT] [core/efl] master 01/02: els_tooltip: Remove infinite job calls

2017-06-29 Thread Jaehyun Cho
jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=ba91b00aa8a957c9a48b1bcfd85cf34e1f3dfdae

commit ba91b00aa8a957c9a48b1bcfd85cf34e1f3dfdae
Author: Jaehyun Cho 
Date:   Thu Jun 29 16:12:37 2017 +0900

els_tooltip: Remove infinite job calls

Summary:
When tooltip or content size is 0, tooltip reconfigure job is called 
infinitely.
This patch removes the infinite job calls.

Test Plan:
See following patch, test case "Tooltip" -> "Tooltip with no min size"

Reviewers: zmike

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4982
---
 src/lib/elementary/els_tooltip.c | 11 ---
 1 file changed, 11 deletions(-)

diff --git a/src/lib/elementary/els_tooltip.c b/src/lib/elementary/els_tooltip.c
index 89febf6647..0fc32d663b 100644
--- a/src/lib/elementary/els_tooltip.c
+++ b/src/lib/elementary/els_tooltip.c
@@ -518,17 +518,6 @@ _elm_tooltip_reconfigure(Elm_Tooltip *tt)
if (eminw && (ominw < eminw)) ominw = eminw;
if (eminh && (ominh < eminh)) ominh = eminh;
 
-   if ((ominw < 1) || (ominh < 1))
- {
-evas_object_move(tt->tt_win ? : tt->tooltip, -, -);
-evas_object_resize(tt->tt_win ? : tt->tooltip, 1, 1);
-TTDBG("FAKE: tx=%d,ty=%d,tw=%d,th=%d\n", -, -, 1, 1);
-evas_object_show(tt->tooltip);
-if (tt->tt_win) evas_object_show(tt->tt_win);
-_elm_tooltip_reconfigure_job_start(tt);
-return;
- }
-
edje_object_size_min_restricted_calc(tt->tooltip, , , ominw, ominh);
TTDBG("TTSIZE:  tw=%d,th=%d,ominw=%d,ominh=%d\n", tw, th, ominw, ominh);
 

-- 




[EGIT] [core/efl] master 02/02: elm_test: Add test edc for tooltip with no min size

2017-06-29 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=dd04248bb8f11076c00bc59d8d138c002bd5ae8a

commit dd04248bb8f11076c00bc59d8d138c002bd5ae8a
Author: Jean-Philippe Andre 
Date:   Thu Jun 29 17:11:00 2017 +0900

elm_test: Add test edc for tooltip with no min size

See 283afce3c8acd902d4708ab491b6192f1665dd77
Test case name: Tooltip -> "Tooltip with no min size"
---
 data/Makefile.am | 10 +++-
 data/elementary/objects/Makefile.am  |  1 +
 data/elementary/objects/test_tooltip.edc | 41 
 src/bin/elementary/test_tooltip.c| 21 +---
 4 files changed, 69 insertions(+), 4 deletions(-)

diff --git a/data/Makefile.am b/data/Makefile.am
index db5822f260..82b221acc0 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -218,7 +218,10 @@ elementary/objects/postit_ent.edj \
 elementary/objects/multibuttonentry.edj \
 elementary/objects/test_prefs.edj \
 elementary/objects/test_prefs.epb \
-elementary/objects/test_focus_style.edj
+elementary/objects/test_focus_style.edj \
+elementary/objects/test_tooltip.edj \
+$(NULL)
+
 CLEANFILES += $(elementaryobjects_DATA)
 
 include elementary/objects/Makefile.am
@@ -273,6 +276,11 @@ elementary/objects/test_focus_style.edj: 
elementary/objects/test_focus_style.edc
$(MKDIR_P) elementary/objects/; \
$(EDJE_CC) $(EDJE_CC_FLAGS) -id 
$(top_srcdir)/data/elementary/themes/img $< $@
 
+elementary/objects/test_tooltip.edj: elementary/objects/test_tooltip.edc
+   $(AM_V_EDJ) \
+   $(MKDIR_P) elementary/objects/; \
+   $(EDJE_CC) $(EDJE_CC_FLAGS) -id 
$(top_srcdir)/data/elementary/themes/img $< $@
+
 elementary/objects/test_prefs.epb: elementary/objects/test_prefs.epc
$(AM_V_EPB) \
$(MKDIR_P) elementary/objects/; \
diff --git a/data/elementary/objects/Makefile.am 
b/data/elementary/objects/Makefile.am
index e5de55cc66..1c98813325 100644
--- a/data/elementary/objects/Makefile.am
+++ b/data/elementary/objects/Makefile.am
@@ -12,6 +12,7 @@ elementary/objects/font_preview.edc \
 elementary/objects/postit_ent.edc \
 elementary/objects/multibuttonentry.edc \
 elementary/objects/test_focus_style.edc \
+elementary/objects/test_tooltip.edc \
 elementary/objects/over.png \
 elementary/objects/under.png \
 elementary/objects/sky.jpg \
diff --git a/data/elementary/objects/test_tooltip.edc 
b/data/elementary/objects/test_tooltip.edc
new file mode 100644
index 00..976996f506
--- /dev/null
+++ b/data/elementary/objects/test_tooltip.edc
@@ -0,0 +1,41 @@
+collections {
+   group { "elm/tooltip/base/nomin";
+  /* Copied from default theme */
+  data.item: "pad_x" "10";
+  data.item: "pad_y" "10";
+  data.item: "pad_border_x" "1";
+  data.item: "pad_border_y" "1";
+  data.item: "hide_timeout" "0.35";
+  data.item: "transparent" "enabled";
+  parts {
+ rect { "base";
+desc { "";
+   color: 32 32 32 255;
+}
+ }
+ rect { "outside";
+desc { "";
+   rel1.offset: -60 -20;
+   rel2.offset: 59 19;
+   color: 32 64 96 128;
+}
+ }
+ text { "info";
+desc { "";
+   text {
+  font: "Sans";
+  size: 10;
+  text: "No Min Size";
+   }
+   rel1.offset: -60 -20;
+   rel2.offset: 59 19;
+   color: 255 255 255 255;
+}
+ }
+ swallow { "elm.swallow.content";
+desc { "";
+}
+ }
+  }
+   }
+}
diff --git a/src/bin/elementary/test_tooltip.c 
b/src/bin/elementary/test_tooltip.c
index e105b1ef65..b93ffcc2a6 100644
--- a/src/bin/elementary/test_tooltip.c
+++ b/src/bin/elementary/test_tooltip.c
@@ -341,6 +341,18 @@ _tt_text_replace_timed(void *data   EINA_UNUSED,
 }
 
 static Evas_Object *
+_no_min_tt_icon(void *data   EINA_UNUSED,
+Evas_Object *obj EINA_UNUSED,
+Evas_Object *tt)
+{
+   Evas_Object *box = elm_box_add(tt);
+   evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+   evas_object_show(box);
+
+   return box;
+}
+
+static Evas_Object *
 _tt_icon(void *data   EINA_UNUSED,
  Evas_Object *obj EINA_UNUSED,
  Evas_Object *tt)
@@ -538,10 +550,13 @@ test_tooltip(void *data   EINA_UNUSED,
evas_object_event_callback_add(bt, EVAS_CALLBACK_DEL, _tt_timer_del,
   NULL);
 
+   /* Add no min size tooltip style */
+   elm_theme_extension_add(NULL, 
eina_slstr_printf("%s/objects/test_tooltip.edj", elm_app_data_dir_get()));
+
bt = elm_button_add(win);
-   elm_object_text_set(bt, "Icon tooltip");
-   elm_object_tooltip_content_cb_set(bt, _tt_icon, (void *)123L,
- _tt_icon_del);
+   elm_object_text_set(bt, "Tooltip with no min size");
+ 

[EGIT] [core/efl] master 01/03: gl_drm: Fix a few compilation warnings

2017-06-29 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=1ef1c04f421736bfed5a5d9d22b1a6be21e65812

commit 1ef1c04f421736bfed5a5d9d22b1a6be21e65812
Author: Jean-Philippe Andre 
Date:   Thu Jun 29 13:42:21 2017 +0900

gl_drm: Fix a few compilation warnings

warning: expression which evaluates to zero treated as a null
pointer constant of type 'void *' [-Wnon-literal-null-conversion]
---
 src/modules/evas/engines/gl_drm/evas_engine.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/modules/evas/engines/gl_drm/evas_engine.c 
b/src/modules/evas/engines/gl_drm/evas_engine.c
index 2e0fea8868..b1083a18aa 100644
--- a/src/modules/evas/engines/gl_drm/evas_engine.c
+++ b/src/modules/evas/engines/gl_drm/evas_engine.c
@@ -784,13 +784,13 @@ eng_image_plane_assign(void *data, void *image, int x, 
int y)
Ecore_Drm2_Plane *plane = NULL;
struct scanout_handle *g;
 
-   EINA_SAFETY_ON_NULL_RETURN_VAL(image, EINA_FALSE);
+   EINA_SAFETY_ON_NULL_RETURN_VAL(image, NULL);
 
re = (Render_Engine *)data;
-   EINA_SAFETY_ON_NULL_RETURN_VAL(re, EINA_FALSE);
+   EINA_SAFETY_ON_NULL_RETURN_VAL(re, NULL);
 
ob = eng_get_ob(re);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(ob, EINA_FALSE);
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ob, NULL);
 
img = image;
n = img->native.data;

-- 




[EGIT] [core/efl] master 03/03: evas: Fix compilation warnings

2017-06-29 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=505aca0e42f3d3bb9a3afc8d78b03ed43d97ee6f

commit 505aca0e42f3d3bb9a3afc8d78b03ed43d97ee6f
Author: Jean-Philippe Andre 
Date:   Thu Jun 29 13:52:13 2017 +0900

evas: Fix compilation warnings

See 7365c087c7feb218881fb8de9e371312bf1421cc
Shadow variable.
---
 src/lib/evas/canvas/evas_render.c | 18 +-
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/lib/evas/canvas/evas_render.c 
b/src/lib/evas/canvas/evas_render.c
index e02ee0d5ef..b994aa29cd 100644
--- a/src/lib/evas/canvas/evas_render.c
+++ b/src/lib/evas/canvas/evas_render.c
@@ -3166,22 +3166,22 @@ evas_render_updates_internal(Evas *eo_e,
if (ENFN->image_plane_assign)
  EINA_INARRAY_FOREACH(>active_objects, ao)
{
-  Evas_Object_Protected_Data *obj;
-  Evas_Object *eo_obj;
+  Evas_Object_Protected_Data *obj2;
+  Evas_Object *eo_obj2;
 
-  obj = ao->obj;
-  eo_obj = obj->object;
+  obj2 = ao->obj;
+  eo_obj2 = obj2->object;
 
-  if (!efl_isa(eo_obj, EFL_CANVAS_IMAGE_INTERNAL_CLASS)) continue;
+  if (!efl_isa(eo_obj2, EFL_CANVAS_IMAGE_INTERNAL_CLASS)) continue;
 
-  if (evas_object_image_video_surface_get(eo_obj)) continue;
+  if (evas_object_image_video_surface_get(eo_obj2)) continue;
 
-  _evas_object_image_plane_release(eo_obj, obj);
-  if (!_evas_render_can_use_overlay(e, eo_obj))
+  _evas_object_image_plane_release(eo_obj2, obj2);
+  if (!_evas_render_can_use_overlay(e, eo_obj2))
 {
/* This may free up things temporarily allocated by
 * _can_use_overlay() testing in the engine */
-   _evas_object_image_plane_release(eo_obj, obj);
+   _evas_object_image_plane_release(eo_obj2, obj2);
 }
}
 

-- 




[EGIT] [core/efl] master 02/03: elm_code: Fix a compilation warning

2017-06-29 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=65644d074e1f7b87bece5860014df6d782e5aafd

commit 65644d074e1f7b87bece5860014df6d782e5aafd
Author: Jean-Philippe Andre 
Date:   Thu Jun 29 13:42:35 2017 +0900

elm_code: Fix a compilation warning

warning: expression result unused; should this cast be to 'void'?
[-Wunused-value]
---
 src/lib/elementary/elm_code_widget_selection.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/elementary/elm_code_widget_selection.c 
b/src/lib/elementary/elm_code_widget_selection.c
index 441bf9b3fe..5c5c1b7dbc 100644
--- a/src/lib/elementary/elm_code_widget_selection.c
+++ b/src/lib/elementary/elm_code_widget_selection.c
@@ -100,7 +100,7 @@ elm_code_widget_selection_select_all(Evas_Object *widget)
elm_code_widget_selection_start(widget, 1, 1);
int maxrow = elm_code_file_lines_get(pd->code->file);
last_line = elm_code_file_line_get(pd->code->file, 
elm_code_file_lines_get(pd->code->file));
-   (void*) elm_code_line_text_get(last_line, _length);
+   elm_code_line_text_get(last_line, _length);
last_col = elm_code_widget_line_text_column_width_to_position(widget, 
last_line, last_length);
 
elm_code_widget_selection_end(widget, maxrow, last_col);

-- 




Re: [E-devel] EFL Profiling Viewer Released!

2017-06-29 Thread The Rasterman
On Fri, 23 Jun 2017 17:11:52 +0300 Mykyta Biliavskyi 
said:

Well the page is brilliant.. the images/gifs you have... fantastic. i tried it
on an older log file i had and it segfaulted :( it seems i now no longer
know how to even produce evlog files now given jackdanielz changes... i have to
figure this out now again...

you and jackdanielz need to work together ... i think this should go into
clouseau (with log begin/end controls, dynamic update as logs come in and then
the ability to inspect older logs...).

and other than the above...

this is BLOODY BRILLIANT. fantastic! like super duper amazing fantastic! i
haven't looked how you do the cpu freq bars (i was using  rects... basically
but i found they really did slow things down... so i was tossing up doing just
image objects with custom generated ARGB pixel data).

this is just simply FANTASTIC stuff. i was planning on coming back and adding
per-frame/window update region info (and display it visually). what i had not
decided on was how to capture the image of the window/frame each fram and
display it nicely... that would make debugging simply amazing to have a
thumbnail or even full image/frame capture per frame as well as everything.
you could see what did and didn't draw that frame (did it overdraw? why? what
triggered that change?). ...  go back and inspect "error frames" that you saw
a glitch in but couldn't catch it easily... i hadn't decided on how to do this
with evlog yet... but it'd likely have been a new kind of evlog "blob" with
arbitrary binary data in it not just strings.

truly awesome work here... nice!

> Hello all!
> 
> I am glad to announce that EFL Profiling Viewer is published at
> enlightenment repos.
> This project inspired by Raster evlog tool.
> And done as Oleksii Piskun internship project.
> 
> Description could be find here:
> https://phab.enlightenment.org/w/projects/efl_profiling_viewer/
> (Please help to place link into Application section on the phriction
> main page)
> 
> Source code available here:
> https://git.enlightenment.org/devs/nikawhite/efl_profiler_viewer.git/
> 
> Project and dashboards for ideas and bugs locates here:
> https://phab.enlightenment.org/project/profile/151/
> 
> Thanks for your feedbacks and support.
> 
> NikaWhite
> 
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> 


-- 
- Codito, ergo sum - "I code, therefore I am" --
The Rasterman (Carsten Haitzler)ras...@rasterman.com


--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel