[EGIT] [admin/devs] master 01/01: update nikawhite public key

2015-06-25 Thread ChunEon Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/admin/devs.git/commit/?id=748f0807bed6130727e4dca6441158933dc7b723

commit 748f0807bed6130727e4dca6441158933dc7b723
Author: ChunEon Park chuneon.p...@samsung.com
Date:   Thu Jun 25 16:28:10 2015 +0900

update nikawhite public key
---
 probies/nikawhite/id_rsa.pub | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/probies/nikawhite/id_rsa.pub b/probies/nikawhite/id_rsa.pub
index b0e0bec..915d0f8 100644
--- a/probies/nikawhite/id_rsa.pub
+++ b/probies/nikawhite/id_rsa.pub
@@ -1 +1 @@
-ssh-rsa 
B3NzaC1yc2EDAQABAAABAQCnYuP7PgbzM8iiQgZKPAvsaxDKCRR7VxEjwSEUaIUYG66+HDY82noCohuIT47FEkGdR5B4m0FtRigD4CNRs9UdWbxGRA/AI3vQjZubTIwMY0YuXIF5e8y9xyElnvCoHSvA6O/qcqWnk0biQmkTUQ1IwQT2dhoFhACMfVe9wVkctUxi232n1OsRiwkBnwAIxMoM51uQXCshHFQBfADuzAd1ZZMNB0doj3/M88yucclH17A02rmhqxeCLmTzLk1tC+nP3T8gwjU7s55lvi+Qa87UhoCwGkdF95DkutZAEqcc/EeDbVFXAoLII7SG2KDiZ+s9vbSg1iz/j+KBHcc0TaRj
 m.biliavs...@samsung.com
+ssh-rsa 
B3NzaC1yc2EDAQABAAABAQDMqDBUDlM1siK2XZ6mdaZhaSZQbg92w+RiSUzMX58eJZmzjv/+tbNPxe65w4lD5L3axltOpORFrUcYgppXfCrnDj44PwKtnKDlU6S++FuNSaRltnwguvECBbnoObzFda9s4OY8GBhFTVd4VwzJdeoUJztF9f6k1WcpKgsbJ0nukPSCP+/j1RPqRQAnU9ofbzr4tXXY1vJUqQLlvs2gSkx+wjRCSuTPOsMpEnxQ/jh+vqW85Gcqbk06kWPKWZU28BfU9LmFaiMDCf3E4OPRdr1Kf6IUfmPWzFhvAQTCT9JxmTVWGTlJpK3E2HIxajWvlfnBjaeUw7Df+9bYICWfO261
 nikawhite@mbiliavskyi

-- 




[EGIT] [tools/enventor] master 01/01: Ctxpopup hide on focus out.

2015-06-25 Thread Mykyta Biliavskyi
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/enventor.git/commit/?id=a310bbd9a430d74cc74ab5a92d3a1ad820d11c49

commit a310bbd9a430d74cc74ab5a92d3a1ad820d11c49
Author: Mykyta Biliavskyi m.biliavs...@samsung.com
Date:   Fri Jun 26 13:39:20 2015 +0900

Ctxpopup hide on focus out.

Summary:
On keypress up or down button doesn't need
to allow focus to the ctxpopup.

@fix T2522

Reviewers: Hermet

Maniphest Tasks: T2522

Differential Revision: https://phab.enlightenment.org/D2765
---
 src/lib/auto_comp.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/lib/auto_comp.c b/src/lib/auto_comp.c
index 9a4701f..068de2a 100644
--- a/src/lib/auto_comp.c
+++ b/src/lib/auto_comp.c
@@ -665,7 +665,6 @@ list_item_move(autocomp_data *ad, Eina_Bool up)
 {
Evas_Object *entry = edit_entry_get(ad-ed);
evas_object_smart_callback_del(entry, unfocused, anchor_unfocused_cb);
-   elm_object_focus_allow_set(ad-list, EINA_TRUE);
 
Elm_Object_Item *it = elm_list_selected_item_get(ad-list);
if (up) it = elm_list_item_prev(it);

-- 




[EGIT] [tools/enventor] master 01/01: Correct handling ecore key modificators.

2015-06-25 Thread Mykyta Biliavskyi
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/enventor.git/commit/?id=9cc1fb443ecff4aa1122aefe8a6d6003af4627bb

commit 9cc1fb443ecff4aa1122aefe8a6d6003af4627bb
Author: Mykyta Biliavskyi m.biliavs...@samsung.com
Date:   Fri Jun 26 13:49:43 2015 +0900

Correct handling ecore key modificators.

Summary: Macro EVENT_KEY_MODIFIER_CHECK_OR_RET provide possibility  to 
check, if only one modifier pressed.

Reviewers: Hermet

Projects: #enventor

Differential Revision: https://phab.enlightenment.org/D2759
---
 src/bin/main.c   | 15 ++-
 src/include/common.h |  6 ++
 2 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/src/bin/main.c b/src/bin/main.c
index 9232106..621ac04 100644
--- a/src/bin/main.c
+++ b/src/bin/main.c
@@ -151,10 +151,8 @@ main_mouse_wheel_cb(void *data, int type EINA_UNUSED, void 
*ev)
app_data *ad = data;
Evas_Coord x, y, w, h;
 
-   if ((event-modifiers  (ECORE_EVENT_MODIFIER_SHIFT | 
ECORE_EVENT_MODIFIER_CTRL
-| ECORE_EVENT_MODIFIER_ALT | 
ECORE_EVENT_MODIFIER_WIN))
-   != ECORE_EVENT_MODIFIER_CTRL)
- return ECORE_CALLBACK_PASS_ON;
+   if (!EVENT_KEY_MODIFIER_CHECK(CTRL, event-modifiers))
+  return ECORE_CALLBACK_PASS_ON;
 
//View Scale
Evas_Object *view = enventor_object_live_view_get(ad-enventor);
@@ -557,8 +555,8 @@ default_template_insert(app_data *ad)
 static Eina_Bool
 alt_func(Ecore_Event_Key *event)
 {
-   if (!(event-modifiers  ECORE_EVENT_MODIFIER_ALT))
- return EINA_FALSE;
+   if (!EVENT_KEY_MODIFIER_CHECK(ALT, event-modifiers))
+   return EINA_FALSE;
 
//Full Edit View
if (!strcmp(event-key, Left))
@@ -591,9 +589,8 @@ alt_func(Ecore_Event_Key *event)
 static Eina_Bool
 ctrl_func(app_data *ad, Ecore_Event_Key *event)
 {
-   if (!(event-modifiers  ECORE_EVENT_MODIFIER_CTRL))
- return EINA_FALSE;
-
+   if (!EVENT_KEY_MODIFIER_CHECK(CTRL, event-modifiers))
+ return EINA_FALSE;
//Save
if (!strcmp(event-key, s) || !strcmp(event-key, S))
  {
diff --git a/src/include/common.h b/src/include/common.h
index 81bb8ea..10eddb2 100644
--- a/src/include/common.h
+++ b/src/include/common.h
@@ -57,6 +57,12 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n
 
 #define ENVENTOR_CONFIG_VERSION 2
 
+#define EVENT_KEY_MODIFIER_CHECK(NAME, MASK) \
+  ((MASK  ECORE_EVENT_MODIFIER_##NAME)  \
+   !((0xFF ^ ECORE_EVENT_MODIFIER_##NAME)  (MASK  0x0F)))
+
+
+
 #define ENVENTOR_BETA_API_SUPPORT 1
 #include Enventor.h
 #include assert.h

-- 




[EGIT] [core/enlightenment] master 01/01: wl-desktop-shell: Fix formatting

2015-06-25 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit 609fa7100d9f0f2f91c1a352c96a3ec99e6c1dca
Author: Chris Michael cp.mich...@samsung.com
Date:   Thu Jun 25 09:30:59 2015 -0400

wl-desktop-shell: Fix formatting

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/modules/wl_desktop_shell/e_mod_main.c | 14 --
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/modules/wl_desktop_shell/e_mod_main.c 
b/src/modules/wl_desktop_shell/e_mod_main.c
index 022a1bf..b080cd6 100644
--- a/src/modules/wl_desktop_shell/e_mod_main.c
+++ b/src/modules/wl_desktop_shell/e_mod_main.c
@@ -449,11 +449,13 @@ _e_shell_surface_configure(struct wl_resource *resource, 
Evas_Coord x, Evas_Coor
 (ec-netwm.type == E_WINDOW_TYPE_DROPDOWN_MENU))
   {
  x = E_CLAMP(ec-parent-client.x + ec-comp_data-popup.x,
-   ec-parent-client.x,
-   ec-parent-client.x + ec-parent-client.w - ec-client.w);
+ ec-parent-client.x,
+ ec-parent-client.x +
+ ec-parent-client.w - ec-client.w);
  y = E_CLAMP(ec-parent-client.y + ec-comp_data-popup.y,
- ec-parent-client.y,
- ec-parent-client.y + ec-parent-client.h - ec-client.h);
+ ec-parent-client.y,
+ ec-parent-client.y +
+ ec-parent-client.h - ec-client.h);
   }
  }
 
@@ -628,8 +630,8 @@ _e_xdg_shell_surface_configure_send(struct wl_resource 
*resource, uint32_t edges
 
if (ec-netwm.type != E_WINDOW_TYPE_POPUP_MENU)
  {
-   serial = wl_display_next_serial(e_comp-wl_comp_data-wl.disp);
-   xdg_surface_send_configure(resource, width, height, states, serial);
+serial = wl_display_next_serial(e_comp-wl_comp_data-wl.disp);
+xdg_surface_send_configure(resource, width, height, states, serial);
  }
 
wl_array_release(states);

-- 




[EGIT] [website/www-content] master 01/01: Wiki page opensuse-start changed with summary [I'm pretty sure one click installs are broken] by Simon

2015-06-25 Thread Simon
WWW-www.enlightenment.org pushed a commit to branch master.

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

commit aa83c508a0f0538f41943572ef713ee5081cda11
Author: Simon si...@simotek.net
Date:   Thu Jun 25 03:55:34 2015 -0700

Wiki page opensuse-start changed with summary [I'm pretty sure one click 
installs are broken] by Simon
---
 pages/distros/opensuse-start.txt | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pages/distros/opensuse-start.txt b/pages/distros/opensuse-start.txt
index b6df590..4010cf8 100644
--- a/pages/distros/opensuse-start.txt
+++ b/pages/distros/opensuse-start.txt
@@ -30,8 +30,8 @@ Install EFL only:
 zypper install efl
 /code
 
-You can also use the one click installer:
-
+You can also use the one click installer: 
+note warningLast time I tried this it was broken (Simon Lees, June 2015, On 
my todo list)/note
 code bash
 export DISTRO_NAME=openSUSE_Tumbleweed
 wget 
http://software.opensuse.org/ymp/X11:Enlightenment:Factory/${DISTRO_NAME}/efl.ymp

-- 




[EGIT] [core/elementary] master 01/01: elm: constify Eolian methods correctly because of recent Eolian changes

2015-06-25 Thread Daniel Kolesa
q66 pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=469fcb8aada7519e5f41e087079c7f8bae5b5617

commit 469fcb8aada7519e5f41e087079c7f8bae5b5617
Author: Daniel Kolesa d.kol...@osg.samsung.com
Date:   Thu Jun 25 12:21:00 2015 +0100

elm: constify Eolian methods correctly because of recent Eolian changes
---
 src/lib/elc_fileselector_entry.c |  2 +-
 src/lib/elc_multibuttonentry.c   |  6 +++---
 src/lib/elc_naviframe.c  |  4 ++--
 src/lib/elc_popup.c  |  2 +-
 src/lib/elm_actionslider.c   |  2 +-
 src/lib/elm_calendar.c   |  4 ++--
 src/lib/elm_datetime.c   | 10 +-
 src/lib/elm_dayselector.c|  4 ++--
 src/lib/elm_entry.c  |  8 
 src/lib/elm_flipselector.c   |  4 ++--
 src/lib/elm_gengrid.c|  6 +++---
 src/lib/elm_genlist.c|  6 +++---
 src/lib/elm_hover.c  |  2 +-
 src/lib/elm_image.c  |  2 +-
 src/lib/elm_index.c  |  4 ++--
 src/lib/elm_layout.c | 10 +-
 src/lib/elm_list.c   |  4 ++--
 src/lib/elm_map.c| 12 ++--
 src/lib/elm_menu.c   | 12 ++--
 src/lib/elm_photo.c  |  2 +-
 src/lib/elm_prefs.c  |  8 
 src/lib/elm_progressbar.c|  2 +-
 src/lib/elm_scroller.c   |  4 ++--
 src/lib/elm_segment_control.c| 10 +-
 src/lib/elm_slideshow.c  |  4 ++--
 src/lib/elm_table.c  |  2 +-
 src/lib/elm_toolbar.c|  6 +++---
 src/lib/elm_web2.c   |  2 +-
 src/lib/elm_widget.c | 34 +-
 29 files changed, 89 insertions(+), 89 deletions(-)

diff --git a/src/lib/elc_fileselector_entry.c b/src/lib/elc_fileselector_entry.c
index f091f91..32b1f0b 100644
--- a/src/lib/elc_fileselector_entry.c
+++ b/src/lib/elc_fileselector_entry.c
@@ -217,7 +217,7 @@ _elm_fileselector_entry_elm_layout_text_set(Eo *obj, 
Elm_Fileselector_Entry_Data
 }
 
 EOLIAN static const char *
-_elm_fileselector_entry_elm_layout_text_get(Eo *obj, 
Elm_Fileselector_Entry_Data *sd, const char *part)
+_elm_fileselector_entry_elm_layout_text_get(const Eo *obj, 
Elm_Fileselector_Entry_Data *sd, const char *part)
 {
if (part  strcmp(part, default))
  {
diff --git a/src/lib/elc_multibuttonentry.c b/src/lib/elc_multibuttonentry.c
index 52aad4d..4bf2e5b 100644
--- a/src/lib/elc_multibuttonentry.c
+++ b/src/lib/elc_multibuttonentry.c
@@ -1423,7 +1423,7 @@ _elm_multibuttonentry_elm_layout_text_set(Eo *obj, 
Elm_Multibuttonentry_Data *sd
 }
 
 EOLIAN static const char*
-_elm_multibuttonentry_elm_layout_text_get(Eo *obj, Elm_Multibuttonentry_Data 
*sd, const char *part)
+_elm_multibuttonentry_elm_layout_text_get(const Eo *obj, 
Elm_Multibuttonentry_Data *sd, const char *part)
 {
const char *text = NULL;
 
@@ -1786,7 +1786,7 @@ _elm_multibuttonentry_clear(Eo *obj EINA_UNUSED, 
Elm_Multibuttonentry_Data *sd)
 }
 
 EOLIAN static Elm_Object_Item *
-_elm_multibuttonentry_item_prev_get(Eo *eo_it,
+_elm_multibuttonentry_item_prev_get(const Eo *eo_it,
Elm_Multibuttonentry_Item_Data *it)
 {
Eina_List *l;
@@ -1807,7 +1807,7 @@ _elm_multibuttonentry_item_prev_get(Eo *eo_it,
 }
 
 EOLIAN static Elm_Object_Item *
-_elm_multibuttonentry_item_next_get(Eo *eo_it,
+_elm_multibuttonentry_item_next_get(const Eo *eo_it,
Elm_Multibuttonentry_Item_Data *it)
 {
Eina_List *l;
diff --git a/src/lib/elc_naviframe.c b/src/lib/elc_naviframe.c
index 42e0235..ff18ee7 100644
--- a/src/lib/elc_naviframe.c
+++ b/src/lib/elc_naviframe.c
@@ -1012,7 +1012,7 @@ _elm_naviframe_elm_layout_text_set(Eo *obj, 
Elm_Naviframe_Data *sd EINA_UNUSED,
 }
 
 EOLIAN static const char*
-_elm_naviframe_elm_layout_text_get(Eo *obj, Elm_Naviframe_Data *sd 
EINA_UNUSED, const char *part)
+_elm_naviframe_elm_layout_text_get(const Eo *obj, Elm_Naviframe_Data *sd 
EINA_UNUSED, const char *part)
 {
Elm_Object_Item *it = elm_naviframe_top_item_get(obj);
if (!it) return NULL;
@@ -1884,7 +1884,7 @@ _elm_naviframe_item_title_enabled_set(Eo *eo_item 
EINA_UNUSED,
 }
 
 EOLIAN static Eina_Bool
-_elm_naviframe_item_title_enabled_get(Eo *eo_item EINA_UNUSED, 
Elm_Naviframe_Item_Data *nit)
+_elm_naviframe_item_title_enabled_get(const Eo *eo_item EINA_UNUSED, 
Elm_Naviframe_Item_Data *nit)
 {
return nit-title_enabled;
 }
diff --git a/src/lib/elc_popup.c b/src/lib/elc_popup.c
index 965223f..629b294 100644
--- a/src/lib/elc_popup.c
+++ b/src/lib/elc_popup.c
@@ -959,7 +959,7 @@ _content_text_get(const Elm_Popup_Data *sd)
 }
 
 EOLIAN static const char*
-_elm_popup_elm_layout_text_get(Eo *obj EINA_UNUSED, Elm_Popup_Data *_pd, const 
char *part)
+_elm_popup_elm_layout_text_get(const Eo *obj EINA_UNUSED, Elm_Popup_Data *_pd, 
const char *part)
 {
const char *text = NULL;
 
diff --git a/src/lib/elm_actionslider.c b/src/lib/elm_actionslider.c

[EGIT] [core/enlightenment] master 01/01: wl-desktop-shell: Remove useless return at end of function

2015-06-25 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit 475a246ea97a4ecf25d6a15811e342eccaff6892
Author: Chris Michael cp.mich...@samsung.com
Date:   Thu Jun 25 09:45:28 2015 -0400

wl-desktop-shell: Remove useless return at end of function

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/modules/wl_desktop_shell/e_mod_main.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/modules/wl_desktop_shell/e_mod_main.c 
b/src/modules/wl_desktop_shell/e_mod_main.c
index b080cd6..e262f8f 100644
--- a/src/modules/wl_desktop_shell/e_mod_main.c
+++ b/src/modules/wl_desktop_shell/e_mod_main.c
@@ -589,13 +589,12 @@ static void
 _e_xdg_surface_state_add(struct wl_resource *resource, struct wl_array 
*states, uint32_t state)
 {
   uint32_t *s;
-  s = wl_array_add(states, sizeof(*s));
+
+   s = wl_array_add(states, sizeof(*s));
   if (s)
 *s = state;
   else
 wl_resource_post_no_memory(resource);
-
-  return;
 }
 
 static void

-- 




[EGIT] [core/efl] master 01/01: eolian/generator: constify all prototypes for @const functions

2015-06-25 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit c709f1dca20b058a9ca76a181add200fe25a8a09
Author: Daniel Kolesa d.kol...@osg.samsung.com
Date:   Thu Jun 25 12:17:58 2015 +0100

eolian/generator: constify all prototypes for @const functions

Otherwise there would be conflicts in certain circumstances.

This also requires adding const on many existing functions,
and similar work is necessary in Elementary.

@fix
---
 src/bin/eolian/eo_generator.c   |  6 --
 src/lib/evas/canvas/evas_canvas3d_camera.c  |  2 +-
 src/lib/evas/canvas/evas_canvas3d_light.c   | 10 +-
 src/lib/evas/canvas/evas_canvas3d_material.c|  2 +-
 src/lib/evas/canvas/evas_canvas3d_mesh.c|  8 
 src/lib/evas/canvas/evas_canvas3d_node.c| 14 +++---
 src/lib/evas/canvas/evas_canvas3d_object.c  |  4 ++--
 src/lib/evas/canvas/evas_canvas3d_scene.c   | 14 +++---
 src/lib/evas/canvas/evas_canvas3d_texture.c |  6 +++---
 src/lib/evas/canvas/evas_filter_mixin.c |  2 +-
 src/lib/evas/canvas/evas_main.c |  8 
 src/lib/evas/canvas/evas_object_box.c   | 10 +-
 src/lib/evas/canvas/evas_object_grid.c  |  6 +++---
 src/lib/evas/canvas/evas_object_image.c |  6 +++---
 src/lib/evas/canvas/evas_object_main.c  |  4 ++--
 src/lib/evas/canvas/evas_object_smart.c | 10 +-
 src/lib/evas/canvas/evas_object_table.c |  6 +++---
 src/lib/evas/canvas/evas_object_text.c  |  8 
 src/lib/evas/canvas/evas_object_textblock.c | 10 +-
 src/lib/evas/canvas/evas_object_textgrid.c  |  4 ++--
 src/lib/evas/common/evas_model_save.c   |  2 +-
 src/lib/evas/include/evas_private.h |  8 
 src/modules/evas/model_savers/eet/evas_model_save_eet.c |  2 +-
 src/modules/evas/model_savers/obj/evas_model_save_obj.c |  2 +-
 src/modules/evas/model_savers/ply/evas_model_save_ply.c |  2 +-
 25 files changed, 79 insertions(+), 77 deletions(-)

diff --git a/src/bin/eolian/eo_generator.c b/src/bin/eolian/eo_generator.c
index 7d98eb9..d31a656 100644
--- a/src/bin/eolian/eo_generator.c
+++ b/src/bin/eolian/eo_generator.c
@@ -512,12 +512,13 @@ eo_bind_func_generate(const Eolian_Class *class, const 
Eolian_Function *funcid,
 /* Generation of the user function prototype declaration - not needed 
when @auto and @empty are indicated */
 if (!is_empty  !is_auto)
   {
- eina_strbuf_append_printf(fbody, %s _%s%s%s_%s%s(Eo *obj, 
@#Datatype_Data *pd%s);\n\n,
+ eina_strbuf_append_printf(fbody, %s _%s%s%s_%s%s(%sEo *obj, 
@#Datatype_Data *pd%s);\n\n,
rettype?rettype:void,
class_env.lower_classname,
impl_env?_:,
impl_env?impl_env-lower_classname:,
eolian_function_name_get(funcid), suffix,
+   eolian_function_object_is_const(funcid)?const :,
eina_strbuf_string_get(full_params));
   }
 
@@ -527,12 +528,13 @@ eo_bind_func_generate(const Eolian_Class *class, const 
Eolian_Function *funcid,
  eina_hash_add(_funcs_params_init,
eina_stringshare_add(eolian_function_name_get(funcid)), 
(void *)ftype);
  /* Generation of the intermediate function __eolian_... */
- eina_strbuf_append_printf(fbody, static %s 
__eolian_%s%s%s_%s%s(Eo *obj%s, @#Datatype_Data *pd%s%s)\n{\n,
+ eina_strbuf_append_printf(fbody, static %s 
__eolian_%s%s%s_%s%s(%sEo *obj%s, @#Datatype_Data *pd%s%s)\n{\n,
rettype?rettype:void,
class_env.lower_classname,
impl_env?_:,
impl_env?impl_env-lower_classname:,
eolian_function_name_get(funcid), suffix,
+   eolian_function_object_is_const(funcid)?const :,
is_empty || is_auto? EINA_UNUSED:,
is_empty || (is_auto  
!eina_strbuf_length_get(params_init))? EINA_UNUSED:,
eina_strbuf_string_get(full_params));
diff --git a/src/lib/evas/canvas/evas_canvas3d_camera.c 
b/src/lib/evas/canvas/evas_canvas3d_camera.c
index f6b85af..802bccf 100644
--- a/src/lib/evas/canvas/evas_canvas3d_camera.c
+++ b/src/lib/evas/canvas/evas_canvas3d_camera.c
@@ -114,7 +114,7 @@ _evas_canvas3d_camera_projection_matrix_set(Eo *obj, 
Evas_Canvas3D_Camera_Data *
 }
 
 EOLIAN static void
-_evas_canvas3d_camera_projection_matrix_get(Eo *obj EINA_UNUSED,
+_evas_canvas3d_camera_projection_matrix_get(const Eo *obj EINA_UNUSED,
  

[EGIT] [website/www-content] master 01/01: Wiki page docs-efl-debug changed with summary [] by Raster

2015-06-25 Thread Raster
WWW-www.enlightenment.org pushed a commit to branch master.

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

commit fb7b68ff8b01d58f05fc1d8fafc50ea4a9b1d77a
Author: Raster ras...@rasterman.com
Date:   Thu Jun 25 05:32:15 2015 -0700

Wiki page docs-efl-debug changed with summary [] by Raster
---
 pages/docs-efl-debug.txt | 5 +
 1 file changed, 5 insertions(+)

diff --git a/pages/docs-efl-debug.txt b/pages/docs-efl-debug.txt
index a8f7a51..9761220 100644
--- a/pages/docs-efl-debug.txt
+++ b/pages/docs-efl-debug.txt
@@ -1,4 +1,9 @@
 ~~Title: Debugging~~
+
+note important
+//Please also see [[debugging/enlightenment_debugging]] and 
[[debugging/apps_efl_debugging]]. This should probably be merged with these 
pages.//
+/note
+
  Compilation 
 
 Remember to build EFL, Enlightenment etc. with debugging compile flags. 
[[docs-efl-start]] has a section on this for your build environment. Remember 
to have ''-g'' as a ''CFLAGS'' option to ensure binaries and libraries have all 
the debug information they need. If you didn't build with debugging, simply 
build again with these flags correctly set and debugging can begin.

-- 




[EGIT] [website/www-content] master 01/01: Wiki page opensuse-start changed with summary [Remove end of life versions] by Simon

2015-06-25 Thread Simon
WWW-www.enlightenment.org pushed a commit to branch master.

http://git.enlightenment.org/website/www-content.git/commit/?id=37e4b91afb6d8b6e22dd4946e788bffd3d02ea3c

commit 37e4b91afb6d8b6e22dd4946e788bffd3d02ea3c
Author: Simon si...@simotek.net
Date:   Thu Jun 25 03:48:35 2015 -0700

Wiki page opensuse-start changed with summary [Remove end of life versions] 
by Simon
---
 pages/distros/opensuse-start.txt | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/pages/distros/opensuse-start.txt b/pages/distros/opensuse-start.txt
index 2377052..9d49481 100644
--- a/pages/distros/opensuse-start.txt
+++ b/pages/distros/opensuse-start.txt
@@ -8,9 +8,6 @@ Enlightenment and EFL are available for multiple versions of 
OpenSUSE:
 * openSUSE_Factory
 * openSUSE_13.2
 * openSUSE_13.1
-* openSUSE_12.3_ports
-* openSUSE_12.3
-* openSUSE_12.2_ARM
 
 The way to install Enlightenment is similar between those distributions,
 here is an example with Tumbleweel:

-- 




[EGIT] [website/www-content] master 01/01: Wiki page opensuse-start changed with summary [Typo: Tumbleweel to Tumbleweed] by Simon

2015-06-25 Thread Simon
WWW-www.enlightenment.org pushed a commit to branch master.

http://git.enlightenment.org/website/www-content.git/commit/?id=9ff6019bd8e1643d5aad17da76c00d94d5071abf

commit 9ff6019bd8e1643d5aad17da76c00d94d5071abf
Author: Simon si...@simotek.net
Date:   Thu Jun 25 03:49:29 2015 -0700

Wiki page opensuse-start changed with summary [Typo: Tumbleweel to 
Tumbleweed] by Simon
---
 pages/distros/opensuse-start.txt | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/pages/distros/opensuse-start.txt b/pages/distros/opensuse-start.txt
index 9d49481..989cb24 100644
--- a/pages/distros/opensuse-start.txt
+++ b/pages/distros/opensuse-start.txt
@@ -10,8 +10,7 @@ Enlightenment and EFL are available for multiple versions of 
OpenSUSE:
 * openSUSE_13.1
 
 The way to install Enlightenment is similar between those distributions,
-here is an example with Tumbleweel:
-
+here is an example with Tumbleweed:
 code bash
 #as root
 export DISTRO_NAME=openSUSE_Tumbleweed

-- 




[EGIT] [website/www-content] master 01/01: Wiki page apps_efl_debugging changed with summary [] by Raster

2015-06-25 Thread Raster
WWW-www.enlightenment.org pushed a commit to branch master.

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

commit e6d5aed51479a69a6a3e7d18eb89787cc091d62d
Author: Raster ras...@rasterman.com
Date:   Thu Jun 25 05:30:43 2015 -0700

Wiki page apps_efl_debugging changed with summary [] by Raster
---
 pages/debugging/apps_efl_debugging.txt | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/pages/debugging/apps_efl_debugging.txt 
b/pages/debugging/apps_efl_debugging.txt
index a3158db..d5d3189 100644
--- a/pages/debugging/apps_efl_debugging.txt
+++ b/pages/debugging/apps_efl_debugging.txt
@@ -1,7 +1,9 @@
 ~~Title: Apps debugging~~
  EFL application debugging 
 
- //Please also see [[docs-efl-debug]]. This should probably be merged with 
this page.//
+note important
+//Please also see [[docs-efl-debug]]. This should probably be merged with this 
page.//
+/note
 
 This tutorial's goal is to help you debug your EFL applications with several 
use cases that you can reproduce. It gives you approaches to know if the bug 
comes from your application or from the EFL libraries.
 

-- 




[EGIT] [website/www-content] master 01/01: Wiki page enlightenment_debugging changed with summary [] by Raster

2015-06-25 Thread Raster
WWW-www.enlightenment.org pushed a commit to branch master.

http://git.enlightenment.org/website/www-content.git/commit/?id=51f747b1d72921aef1c607f4ae62ed8bfd233a1b

commit 51f747b1d72921aef1c607f4ae62ed8bfd233a1b
Author: Raster ras...@rasterman.com
Date:   Thu Jun 25 05:31:02 2015 -0700

Wiki page enlightenment_debugging changed with summary [] by Raster
---
 pages/debugging/enlightenment_debugging.txt | 4 
 1 file changed, 4 insertions(+)

diff --git a/pages/debugging/enlightenment_debugging.txt 
b/pages/debugging/enlightenment_debugging.txt
index d78c29d..f68da32 100644
--- a/pages/debugging/enlightenment_debugging.txt
+++ b/pages/debugging/enlightenment_debugging.txt
@@ -1,6 +1,10 @@
 ~~Title: Enlightenment debugging~~
  Enlightenment Debugging 
 
+note important
+//Please also see [[docs-efl-debug]]. This should probably be merged with this 
page.//
+/note
+
 This tutorial aims at providing a comprehensive and reproducible documentation 
to debug Enlightenment. It is divided in two sections:
 
 * [[#Debugging_Enlightenment_using_GDB|GDB]]

-- 




[EGIT] [core/efl] master 01/01: ector/software: Update the PIXEL_BIT to 8 for better quality.

2015-06-25 Thread Subhransu Mohanty
hermet pushed a commit to branch master.

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

commit 4f2ad23585ac57006c4b7ff426646c5a9fea7900
Author: Subhransu Mohanty sub.moha...@samsung.com
Date:   Thu Jun 25 18:51:41 2015 +0900

ector/software: Update the PIXEL_BIT to 8 for better quality.
---
 src/lib/ector/software/sw_ft_raster.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/ector/software/sw_ft_raster.c 
b/src/lib/ector/software/sw_ft_raster.c
index 2956123..f20a881 100644
--- a/src/lib/ector/software/sw_ft_raster.c
+++ b/src/lib/ector/software/sw_ft_raster.c
@@ -209,7 +209,7 @@ typedef struct  SW_FT_Outline_Funcs_
 
 
   /* must be at least 6 bits! */
-#define PIXEL_BITS  5
+#define PIXEL_BITS  8
 
 #undef FLOOR
 #undef CEILING

-- 




[EGIT] [core/efl] annotated tag v1.14.2 created (now 6e0ef28)

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

stefan pushed a change to annotated tag v1.14.2
in repository core/efl.

at  6e0ef28   (tag)
   tagging  fb6e978dcc4594939d93ed67464e7cfbf08e4cc5 (commit)
  replaces  v1.14.1
 tagged by  Stefan Schmidt
on  Thu Jun 25 15:57:41 2015 +0200

- Log -
v1.14.2

Carsten Haitzler (1):
  eina semaphore lock - don't wake up because of signals

Cedric BAIL (1):
  pkg-config: fix portability issue on Windows.

ChunEon Park (2):
  ecore: null cb function is unacceptable.
  eina/simple_xml_parser: don't parse the ,  in the attribute string.

Jean-Philippe ANDRÉ (3):
  Evas filters: Remove unnecessary copy of buffers
  Evas filters: Fix blend with color with rgba buffers
  Evas: Remove shader_3d .x generated file from BUILT_SOURCES

Jihoon Kim (1):
  ecore_imf/wayland: Add NULL check before accessing

Mike Blumenkrantz (2):
  edje: set GROUP/SWALLOW/EXTERNAL pass events based on mouse events
  Revert edje: set GROUP/SWALLOW/EXTERNAL pass events based on mouse 
events

SangHyeon Lee (1):
  fb engine : Add NULL type handling in output free.

Stefan Schmidt (1):
  release: Update NEWS and bump version for 1.14.2 release

---

No new revisions were added by this update.

-- 




[EGIT] [core/elementary] master 03/11: calendar: show days of prev/next month.

2015-06-25 Thread Youngbok Shin
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=60396b1158df8a6ea4ca958c6ead92965ca61822

commit 60396b1158df8a6ea4ca958c6ead92965ca61822
Author: Youngbok Shin youngb.s...@samsung.com
Date:   Thu Jun 25 16:13:56 2015 +0200

calendar: show days of prev/next month.

Summary:
Show days of previous and next month on the blank area of calendar.
@feature

Test Plan: See calendar widget on elementary_test.

Reviewers: raster, seoz, woohyun, cedric

Reviewed By: cedric

Differential Revision: https://phab.enlightenment.org/D2728

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 data/themes/edc/elm/calendar.edc | 26 ++
 src/lib/elm_calendar.c   | 57 
 2 files changed, 72 insertions(+), 11 deletions(-)

diff --git a/data/themes/edc/elm/calendar.edc b/data/themes/edc/elm/calendar.edc
index b1b15c8..35a0367 100644
--- a/data/themes/edc/elm/calendar.edc
+++ b/data/themes/edc/elm/calendar.edc
@@ -8,6 +8,9 @@
   style { name: calendar_date_today_style;\
  base: font=FN font_size=10 color=#3399ff style=glow 
glow_color=#3399ff18 align=center;\
   }\
+  style { name: calendar_date_disabled_style;\
+ base: font=FN font_size=10 color=#151515 style=shadow_bottom 
shadow_color=#ffc0 align=center;\
+  }\
 
 #define CAL_SPIN(_sufix, _signal_sufix, _text, _relative)\
   part { name: left_bt#_sufix; type: RECT;\
@@ -291,6 +294,10 @@
  inherit: default 0.0; \
  text.style: calendar_date_today_style; \
   } \
+  description { state: disabled 0.0; \
+ inherit: default 0.0; \
+ text.style: calendar_date_disabled_style; \
+  } \
} \
part { name: cit_#_pos.check; mouse_events: 0; \
   scale: 1; \
@@ -355,6 +362,25 @@
  target:  cit_#_pos.text; \
   } \
   program { \
+ name:cit_#_pos.enable; \
+ signal:  cit_#_pos,enable; \
+ source:  elm; \
+ script { \
+new st[31]; \
+new Float:vl; \
+get_state(PART:cit_#_pos.text, st, 30, vl); \
+if (!strcmp(st, disabled)) \
+  set_state(PART:cit_#_pos.text, default, 0.0); \
+ } \
+  } \
+  program { \
+ name:cit_#_pos.disable; \
+ signal:  cit_#_pos,disable; \
+ source:  elm; \
+ action:  STATE_SET disabled 0.0; \
+ target:  cit_#_pos.text; \
+  } \
+  program { \
  source: cit_#_pos.clicked; \
  signal: mouse,down,1; \
  source: cit_#_pos.event; \
diff --git a/src/lib/elm_calendar.c b/src/lib/elm_calendar.c
index 58d4d6c..18574a1 100644
--- a/src/lib/elm_calendar.c
+++ b/src/lib/elm_calendar.c
@@ -90,13 +90,15 @@ _elm_calendar_elm_layout_sizing_eval(Eo *obj, 
Elm_Calendar_Data *_pd EINA_UNUSED
 }
 
 static inline int
-_maxdays_get(struct tm *selected_time)
+_maxdays_get(struct tm *selected_time, int month_offset)
 {
int month, year;
 
-   month = selected_time-tm_mon;
+   month = (selected_time-tm_mon + month_offset) % 12;
year = selected_time-tm_year + 1900;
 
+   if (month  0) month += 12;
+
return _days_in_month
   [((!(year % 4))  ((!(year % 400)) || (year % 100)))][month];
 }
@@ -145,6 +147,28 @@ _today(Elm_Calendar_Data *sd,
sd-today_it = it;
 }
 
+static inline void
+_enable(Elm_Calendar_Data *sd,
+int it)
+{
+   char emission[32];
+
+   snprintf(emission, sizeof(emission), cit_%i,enable, it);
+   elm_layout_signal_emit(sd-obj, emission, elm);
+   sd-today_it = it;
+}
+
+static inline void
+_disable(Elm_Calendar_Data *sd,
+ int it)
+{
+   char emission[32];
+
+   snprintf(emission, sizeof(emission), cit_%i,disable, it);
+   elm_layout_signal_emit(sd-obj, emission, elm);
+   sd-today_it = it;
+}
+
 static char *
 _format_month_year(struct tm *selected_time)
 {
@@ -272,7 +296,7 @@ _access_calendar_item_register(Evas_Object *obj)
ELM_CALENDAR_DATA_GET(obj, sd);
 
day = 0;
-   maxdays = _maxdays_get(sd-shown_time);
+   maxdays = _maxdays_get(sd-shown_time, 0);
for (i = 0; i  42; i++)
  {
 if ((!day)  (i == sd-first_day_it)) day = 1;
@@ -355,7 +379,7 @@ _access_calendar_register(Evas_Object *obj)
 static void
 _populate(Evas_Object *obj)
 {
-   int maxdays, day, mon, yr, i;
+   int maxdays, prev_month_maxdays, day, mon, yr, i;
Elm_Calendar_Mark *mark;
char part[12], day_s[3];
struct tm first_day;
@@ -369,7 +393,8 @@ _populate(Evas_Object *obj)
sd-filling = EINA_FALSE;
if (sd-today_it  0) _not_today(sd);
 
-   maxdays = _maxdays_get(sd-shown_time);
+   maxdays = _maxdays_get(sd-shown_time, 0);
+   prev_month_maxdays = _maxdays_get(sd-shown_time, -1);
mon = sd-shown_time.tm_mon;
yr = sd-shown_time.tm_year;
 
@@ -459,9 +484,19 @@ _populate(Evas_Object *obj)
   }
 
 if ((day)  (day = maxdays))
-  

[EGIT] [core/efl] master 01/01: eolian_cxx: Fix C++ generated inheritance wrappers

2015-06-25 Thread Vitor Sousa
q66 pushed a commit to branch master.

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

commit 22094b6a275032027f3a3ef84d36ad4ab4c708a2
Author: Vitor Sousa vitorsousasi...@gmail.com
Date:   Thu Jun 25 15:58:43 2015 +0100

eolian_cxx: Fix C++ generated inheritance wrappers

Summary:
Fix a bug that happens when a Eolian C++ wrapper have no default
constructor (because it have obligatory constructing methods) and it is
being used as a return of a inheritance wrappers.
Switched to a conversion of the native type as the default return, instead
of a value initialized wrapper.

Reviewers: q66, felipealmeida

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2769
---
 src/lib/eolian_cxx/grammar/inheritance_base_generator.hh | 14 ++
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/src/lib/eolian_cxx/grammar/inheritance_base_generator.hh 
b/src/lib/eolian_cxx/grammar/inheritance_base_generator.hh
index ed993f0..a3918a9 100644
--- a/src/lib/eolian_cxx/grammar/inheritance_base_generator.hh
+++ b/src/lib/eolian_cxx/grammar/inheritance_base_generator.hh
@@ -129,26 +129,24 @@ operator(std::ostream out, inheritance_wrappers const 
x)
  )  endl
  {  endl;
 
-if (!function_is_void(func))
-  out  tab(1)  reinterpret_type(func.ret)   _tmp_ret{};  
endl;
-
 out  tab(1)
  try  endl
  tab(2)  {  endl
  tab(3)
- (!function_is_void(func) ? _tmp_ret = : )
+ (!function_is_void(func) ? return : )
  static_castT*(self-this_)-
  func.name  (  parameters_cxx_list(func.params)  );  
endl
  tab(2)  }  endl
  tab(1)  catch (...)  endl
  tab(2)  {  endl
- tab(3)  eina_error_set( ::efl::eina::unknown_error() );  
endl
- tab(2)  }  endl;
+ tab(3)  eina_error_set( ::efl::eina::unknown_error() );  
endl;
 
 if (!function_is_void(func))
-  out  tab(1)  return _tmp_ret;  endl;
+  out  tab(3)  func.ret.front().native   _tmp_ret{};  endl
+   tab(3)  return   to_cxx(func.ret, _tmp_ret)  ;  
endl;
 
-out  }  endl;
+out  tab(2)  }  endl
+ }  endl;
 
 out  scope_guard_tail(x._cls, func)  endl;
  }

-- 




[EGIT] [core/elementary] master 06/11: gengrid: add item cache in gengrid for efficient realize/unrealize operation.

2015-06-25 Thread SangHyeon Lee
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=0710c5ee6425e4514e7b3f87a075052792956ecf

commit 0710c5ee6425e4514e7b3f87a075052792956ecf
Author: SangHyeon Lee dltkdgus1...@gmail.com
Date:   Thu Jun 25 16:28:07 2015 +0200

gengrid: add item cache in gengrid for efficient realize/unrealize 
operation.

Summary:
gengrid realize/unrealize items each smart calculation if their posiiton is 
updated.
This concept will be occurred useless view object creation and deletion.
So instead of delete items in unrealize function, push item cache into 
cache list,
and pop item cache from cache list in realize function to reuse item view 
object
more efficiently.
the cache concept is already implemented in genlist widget and this patch 
is improved
item cache of genlist cache.
@feature

```
NOTICE: This patch is written under the D2561 Patch which add 
elm_gengrid_item_fields_update.
So it must submitted after D2561.
```

Test Plan:
I've tested below three cases,
   1. tested ith this patch in elementary_test and checked all gengrid 
features are working properly.
   2. tested with changing CACHE_MAX to another value which is set 40 in 
default
   and checked all gengrid features are working properly.
   3. tested with set it-item-nocache true, and checked cache is never 
generated
   and checked all gengrid features are working properly.

Reviewers: raster, Hermet, seoz, jaehwan, singh.amitesh

Subscribers: eagleeye, singh.amitesh, Jaehyun

Differential Revision: https://phab.enlightenment.org/D2641

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 src/bin/test.c   |   2 +
 src/bin/test_gengrid.c   | 261 ++
 src/lib/elm_gengrid.c| 520 +++
 src/lib/elm_gengrid_common.h |  17 +-
 src/lib/elm_gengrid_item.eo  |  23 ++
 src/lib/elm_widget_gengrid.h |  17 ++
 6 files changed, 744 insertions(+), 96 deletions(-)

diff --git a/src/bin/test.c b/src/bin/test.c
index 443d69c..04fb02d 100644
--- a/src/bin/test.c
+++ b/src/bin/test.c
@@ -140,6 +140,7 @@ void test_gengrid5(void *data, Evas_Object *obj, void 
*event_info);
 void test_gengrid_item_styles(void *data, Evas_Object *obj, void *event_info);
 void test_gengrid_speed(void *data, Evas_Object *obj, void *event_info);
 void test_gengrid_focus(void *data, Evas_Object *obj, void *event_info);
+void test_gengrid_update(void *data, Evas_Object *obj, void *event_info);
 void test_win_state(void *data, Evas_Object *obj, void *event_info);
 void test_win_state2(void *data, Evas_Object *obj, void *event_info);
 void test_progressbar(void *data, Evas_Object *obj, void *event_info);
@@ -695,6 +696,7 @@ add_tests:
ADD_TEST(NULL, Lists - Gengrid, GenGrid Item Styles, 
test_gengrid_item_styles);
ADD_TEST(NULL, Lists - Gengrid, Gengrid Update Speed, 
test_gengrid_speed);
ADD_TEST(NULL, Lists - Gengrid, GenGrid Focus, test_gengrid_focus);
+   ADD_TEST(NULL, Lists - Gengrid, GenGrid Update, test_gengrid_update);
 
//--//
ADD_TEST(NULL, General, Scaling, test_scaling);
diff --git a/src/bin/test_gengrid.c b/src/bin/test_gengrid.c
index 99ef7fe..ffd4857 100644
--- a/src/bin/test_gengrid.c
+++ b/src/bin/test_gengrid.c
@@ -29,6 +29,7 @@ struct _api_data
unsigned int state;  /* What state we are testing   */
Evas_Object *box;   /* Use this to get box content */
Evas_Object *grid;
+   Elm_Gengrid_Item_Field_Type field_type;
 };
 typedef struct _api_data api_data;
 
@@ -1848,3 +1849,263 @@ test_gengrid_focus(void *data EINA_UNUSED,
evas_object_resize(win, 600, 600);
evas_object_show(win);
 }
+
+char *
+_gg_update_text_get(void *data EINA_UNUSED,
+Evas_Object *obj EINA_UNUSED,
+const char *part EINA_UNUSED)
+{
+   char *txt[] = {Sky, Stone, Water, Flower, Sand, Sun, Moon, 
Star, Cloud, NULL};
+   int n = rand() % 9;
+
+   return strdup(txt[n]);
+}
+
+Evas_Object *
+_gg_update_content_get(void *data, Evas_Object *obj, const char *part)
+{
+   const Item_Data *id = data;
+   char buf[256];
+   int n = 0;
+
+   if (!strcmp(part, elm.swallow.icon))
+ {
+n = rand() % 9;
+
+Evas_Object *image = elm_image_add(obj);
+snprintf(buf, sizeof(buf), %s/images/%s, elm_app_data_dir_get(), 
img[n]);
+elm_image_file_set(image, buf, NULL);
+elm_image_aspect_fixed_set(image, EINA_FALSE);
+evas_object_show(image);
+return image;
+ }
+   else if (!strcmp(part, elm.swallow.end))
+ {
+Evas_Object *ck = elm_check_add(obj);
+evas_object_propagate_events_set(ck, EINA_FALSE);
+elm_check_state_set(ck, id-onoff);
+evas_object_smart_callback_add(ck, changed, grid_item_check_changed, 
data);
+evas_object_show(ck);
+

[EGIT] [core/elementary] master 07/11: gengrid: add unhighlight callback

2015-06-25 Thread Hosang Kim
cedric pushed a commit to branch master.

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

commit b8959e778090547ef9df79601bef0c7cd9b3cd21
Author: Hosang Kim hosang12@samsung.com
Date:   Thu Jun 25 16:31:36 2015 +0200

gengrid: add unhighlight callback

Summary:
item_unselect check it-select status, so when item highlighted but not 
selected,
item highlight is remaining even after unselect_cb is called.

And item_select and item_highlight are separated, but item_unselect and 
item_unhighlight are mixed.
so divide them, too.

This patch will solve upon problem.

Reviewers: seoz, woohyun, Hermet, CHAN, raster, SanghyeonLee, cedric

Reviewed By: cedric

Differential Revision: https://phab.enlightenment.org/D2653

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 src/lib/elm_gengrid.c | 58 +++
 1 file changed, 45 insertions(+), 13 deletions(-)

diff --git a/src/lib/elm_gengrid.c b/src/lib/elm_gengrid.c
index e8a7fde..8d01e5d 100644
--- a/src/lib/elm_gengrid.c
+++ b/src/lib/elm_gengrid.c
@@ -529,12 +529,6 @@ _item_unselect(Elm_Gen_Item *it)
if ((it-generation  sd-generation) || (!it-selected))
  return;
 
-   edje_object_signal_emit(VIEW(it), elm,state,unselected, elm);
-   evas_object_smart_callback_call(WIDGET(it), SIG_UNHIGHLIGHTED, eo_it);
-
-   evas_object_stack_below(VIEW(it), sd-stack);
-
-   it-highlighted = EINA_FALSE;
if (it-selected)
  {
 it-selected = EINA_FALSE;
@@ -574,7 +568,10 @@ _item_mouse_move_cb(void *data,
   {
  sd-on_hold = EINA_TRUE;
  if (!sd-was_selected)
-   it-unsel_cb(it);
+   {
+  it-unhighlight_cb(it);
+  it-unsel_cb(it);
+   }
   }
  }
 
@@ -647,7 +644,10 @@ _item_mouse_move_cb(void *data,
 it-dragging = 1;
 ELM_SAFE_FREE(it-long_timer, ecore_timer_del);
 if (!sd-was_selected)
-  it-unsel_cb(it);
+  {
+ it-unhighlight_cb(it);
+ it-unsel_cb(it);
+  }
 
 if (dy  0)
   {
@@ -728,6 +728,24 @@ _item_highlight(Elm_Gen_Item *it)
 }
 
 static void
+_item_unhighlight(Elm_Gen_Item *it)
+{
+   ELM_GENGRID_DATA_GET_FROM_ITEM(it, sd);
+   Elm_Object_Item *eo_it = EO_OBJ(it);
+
+   if (!it-highlighted ||
+   (it-generation  sd-generation))
+ return;
+
+   edje_object_signal_emit(VIEW(it), elm,state,unselected, elm);
+   evas_object_smart_callback_call(WIDGET(it), SIG_UNHIGHLIGHTED, eo_it);
+
+   evas_object_stack_below(VIEW(it), sd-stack);
+
+   it-highlighted = EINA_FALSE;
+}
+
+static void
 _item_mouse_down_cb(void *data,
 Evas *evas EINA_UNUSED,
 Evas_Object *obj,
@@ -1060,7 +1078,11 @@ _item_mouse_up_cb(void *data,
if (sd-longpressed)
  {
 sd-longpressed = EINA_FALSE;
-if (!sd-was_selected) it-unsel_cb(it);
+if (!sd-was_selected)
+  {
+ it-unhighlight_cb(it);
+ it-unsel_cb(it);
+  }
 sd-was_selected = EINA_FALSE;
 return;
  }
@@ -1084,7 +1106,11 @@ _item_mouse_up_cb(void *data,
  it-highlight_cb(it);
  it-sel_cb(it);
   }
-else it-unsel_cb(it);
+else
+  {
+ it-unhighlight_cb(it);
+ it-unsel_cb(it);
+  }
  }
else
  {
@@ -1094,6 +1120,7 @@ _item_mouse_up_cb(void *data,
{
   Elm_Object_Item *eo_sel = sd-selected-data;
   Elm_Gen_Item *sel = eo_data_scope_get(eo_sel, 
ELM_GENGRID_ITEM_CLASS);
+  it-unhighlight_cb(sel);
   it-unsel_cb(sel);
}
   }
@@ -1105,7 +1132,11 @@ _item_mouse_up_cb(void *data,
  EINA_LIST_FOREACH_SAFE(sd-selected, l, l_next, eo_item2)
{
   ELM_GENGRID_ITEM_DATA_GET(eo_item2, item2);
-  if (item2 != it) it-unsel_cb(item2);
+  if (item2 != it)
+{
+   it-unhighlight_cb(item2);
+   it-unsel_cb(item2);
+}
}
   }
 it-highlight_cb(it);
@@ -3978,6 +4009,7 @@ _elm_gengrid_item_new(Elm_Gengrid_Data *sd,
 
it-del_cb = (Ecore_Cb)_item_del;
it-highlight_cb = (Ecore_Cb)_item_highlight;
+   it-unhighlight_cb = (Ecore_Cb)_item_unhighlight;
it-sel_cb = (Ecore_Cb)_item_select;
it-unsel_cb = (Ecore_Cb)_item_unselect;
it-unrealize_cb = (Ecore_Cb)_item_unrealize_cb;
@@ -4492,7 +4524,7 @@ _elm_gengrid_item_selected_set(Eo *eo_item EINA_UNUSED, 
Elm_Gen_Item *it,
{
   Elm_Object_Item *eo_sel = sd-selected-data;
   ELM_GENGRID_ITEM_DATA_GET(eo_sel, sel);
-  if (it-unhighlight_cb) 

[EGIT] [core/elementary] master 04/11: genlist/list/win: Revert focus highlight animation when looping is enable

2015-06-25 Thread Amitesh Singh
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=8889b728774bd479294ee5029730c90cdddf4450

commit 8889b728774bd479294ee5029730c90cdddf4450
Author: Amitesh Singh amitesh...@samsung.com
Date:   Thu Jun 25 16:15:06 2015 +0200

genlist/list/win: Revert focus highlight animation when looping is enable

Summary:
  -
  Revert focus: Added internal widget APIs of focus highlight object of 
elm window.

This reverts commit 3f98d71830163a154762f2d16301d720c781b7c5.

  - Revert List: Focus highlight when loop is enable
This reverts commit 57ad32a900e71f83441bf7246671b8f16a8ec909.

  - Revert genlist: Focus highlight when loop is enable

This reverts commit 91282a22cba66ee5e7799018d3abe8957fb1b1fa.

Reviewers: seoz, raster, jpeg, SanghyeonLee

Subscribers: anand.km, seoz

Differential Revision: https://phab.enlightenment.org/D2725

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 data/themes/edc/elm/focus.edc | 173 --
 src/lib/elm_genlist.c |  59 +++---
 src/lib/elm_list.c|  98 ++--
 src/lib/elm_widget.c  |  31 
 src/lib/elm_widget.h  |   6 --
 src/lib/elm_win.c |  29 ---
 6 files changed, 28 insertions(+), 368 deletions(-)

diff --git a/data/themes/edc/elm/focus.edc b/data/themes/edc/elm/focus.edc
index 5c06179..19d78cd 100644
--- a/data/themes/edc/elm/focus.edc
+++ b/data/themes/edc/elm/focus.edc
@@ -5,7 +5,7 @@ group { name: elm/focus_highlight/top/default;
script {
   public s_x, s_y, s_w, s_h; /* source */
   public difx, dify, difw, difh;
-
+  
   public animator1(val, Float:pos) {
  new x, y, w, h, dx, dy, dw, dh, Float:p;
  p = 1.0 - ((1.0 - pos) * (1.0 - pos) * (1.0 - pos));
@@ -19,16 +19,16 @@ group { name: elm/focus_highlight/top/default;
  h = get_int(s_h) + dh;
  update_offset(x, y, w, h);
   }
-
+  
   public update_offset(x, y, w, h) {
  set_state_val(PART:base, STATE_REL1_OFFSET, x, y);
  set_state_val(PART:base, STATE_REL2_OFFSET, x + w, y + h);
   }
-
+  
   public message(Msg_Type:type, id, ...) {
  if ((type == MSG_INT_SET)  (id == 1)) {
 new x1, y1, w1, h1, x2, y2, w2, h2;
-
+
 x1 = getarg(2);
 y1 = getarg(3);
 w1 = getarg(4);
@@ -37,7 +37,7 @@ group { name: elm/focus_highlight/top/default;
 y2 = getarg(7);
 w2 = getarg(8);
 h2 = getarg(9);
-
+
 set_int(s_x, x1);
 set_int(s_y, y1);
 set_int(s_w, w1);
@@ -46,74 +46,31 @@ group { name: elm/focus_highlight/top/default;
 set_int(dify, y2 - y1);
 set_int(difw, w2 - w1);
 set_int(difh, h2 - h1);
-
+
 custom_state(PART:base, default, 0.0);
 set_state_val(PART:base, STATE_REL1, 0.0, 0.0);
 set_state_val(PART:base, STATE_REL2, 0.0, 0.0);
 update_offset(x1, y1, w1, h1);
 set_state(PART:base, custom, 0.0);
-
+
 anim(0.2, animator1, 1);
  }
   }
}
parts {
-  part { name: base; type: RECT;
- clip_to: clip;
+  part { name: base; type: SPACER;
  description { state: default 0.0;
-visible: 0;
- }
- description { state: move_down 0.0;
-inherit: default 0.0;
-rel1.relative: 0 1;
-rel2.relative: 1 2;
- }
- description { state: move_up 0.0;
-inherit: default 0.0;
-rel1.relative: 0 -1;
-rel2.relative: 1 0;
- }
- description { state: move_left 0.0;
-inherit: default 0.0;
-rel1.relative: -1 0;
-rel2.relative: 0 1;
- }
- description { state: move_right 0.0;
-inherit: default 0.0;
-rel1.relative: 1 0;
-rel2.relative: 2 1;
  }
   }
   part { name: clip; type: RECT;
- scale: 1;
- description {
-state: default 0.0;
-color: 255 255 255 255;
-rel1.relative: -1 -1;
-rel2.relative: 2 2;
- }
- description { state: move_down 0.0;
-inherit: default 0.0;
-color: 255 255 255 0;
- }
- description { state: move_up 0.0;
-inherit: default 0.0;
-color: 255 255 255 0 ;
- }
- description { state: move_left 0.0;
-inherit: default 0.0;
+ description { state: default 0.0;
+rel1.to: glow;
+rel2.to: glow;
 color: 255 255 255 0;
  }
- description { state: move_right 0.0;
-inherit: default 0.0;
-color: 255 255 255 0 ;
-  

[EGIT] [core/elementary] master 10/11: elm_gengrid: fix an overlap issue of item and group item on focus.

2015-06-25 Thread Prince Kr Dubey
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=2392ee830beccea338c2284ec2a5d2466b808439

commit 2392ee830beccea338c2284ec2a5d2466b808439
Author: Prince Kr Dubey prince.du...@gmail.com
Date:   Thu Jun 25 16:38:28 2015 +0200

elm_gengrid: fix an overlap issue of item and group item on focus.

Summary: Issue: Gengrid item comes over group item on click.

Test Plan:
Run elementary test.
Open GenGrid Group. Click on any item which slightly overlap with group 
item.
Item comes over group item.

Reviewers: raster, cedric

Reviewed By: cedric

Subscribers: rajeshps, govi, poornima.srinivasan, shilpasingh

Differential Revision: https://phab.enlightenment.org/D2589

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 src/lib/elm_gengrid.c | 67 ---
 1 file changed, 32 insertions(+), 35 deletions(-)

diff --git a/src/lib/elm_gengrid.c b/src/lib/elm_gengrid.c
index 70f30ec..faef8a1 100644
--- a/src/lib/elm_gengrid.c
+++ b/src/lib/elm_gengrid.c
@@ -1273,6 +1273,34 @@ _access_widget_item_register(Elm_Gen_Item *it)
 }
 
 static void
+_elm_gengrid_item_focus_raise(Elm_Gen_Item *it)
+{
+   const char *focus_raise;
+   Evas_Object *obj = WIDGET(it);
+   ELM_GENGRID_DATA_GET(obj, sd);
+
+   if (elm_widget_focus_highlight_enabled_get(obj))
+ {
+edje_object_signal_emit
+   (VIEW(it), elm,state,focused, elm);
+ }
+
+   focus_raise = edje_object_data_get(VIEW(it), focusraise);
+   if ((focus_raise)  (!strcmp(focus_raise, on)))
+ {
+Elm_Gen_Item *it1;
+Eina_List *l;
+
+evas_object_raise(VIEW(it));
+EINA_LIST_FOREACH(sd-group_items, l, it1)
+  {
+ if (GG_IT(it1)-group_realized)
+evas_object_raise(VIEW(it1));
+  }
+ }
+}
+
+static void
 _item_realize(Elm_Gen_Item *it)
 {
Eina_Bool tmp;
@@ -1361,17 +1389,7 @@ _item_realize(Elm_Gen_Item *it)
 
if (eo_it == sd-focused_item)
  {
-const char *focus_raise;
-if (elm_widget_focus_highlight_enabled_get(WIDGET(it)))
-  {
- edje_object_signal_emit
-(VIEW(it), elm,state,focused, elm);
-  }
-
-focus_raise = edje_object_data_get(VIEW(it), focusraise);
-if ((focus_raise)  (!strcmp(focus_raise, on)))
-  evas_object_raise(VIEW(it));
-
+_elm_gengrid_item_focus_raise(it);
 _elm_widget_item_highlight_in_theme(WIDGET(it), EO_OBJ(it));
 _elm_widget_highlight_in_theme_update(WIDGET(it));
 _elm_widget_focus_highlight_start(WIDGET(it));
@@ -1794,6 +1812,7 @@ _group_item_place(Elm_Gengrid_Pan_Data *psd)
 iw = vw;
 ih = psd-wsd-group_item_height;
  }
+
EINA_LIST_FOREACH(psd-wsd-group_items, l, it)
  {
 was_realized = it-realized;
@@ -1961,7 +1980,6 @@ _elm_gengrid_item_focused(Elm_Object_Item *eo_it)
ELM_GENGRID_ITEM_DATA_GET(eo_it, it);
Evas_Object *obj = WIDGET(it);
ELM_GENGRID_DATA_GET(obj, sd);
-   const char *focus_raise;
 
if (it-generation  sd-generation)
  return;
@@ -1987,18 +2005,7 @@ _elm_gengrid_item_focused(Elm_Object_Item *eo_it)
 
sd-focused_item = eo_it;
 
-   if (it-realized)
- {
-if (elm_widget_focus_highlight_enabled_get(obj))
-  {
- edje_object_signal_emit
-(VIEW(it), elm,state,focused, elm);
-  }
-
-focus_raise = edje_object_data_get(VIEW(it), focusraise);
-if ((focus_raise)  (!strcmp(focus_raise, on)))
-  evas_object_raise(VIEW(it));
- }
+   if (it-realized) _elm_gengrid_item_focus_raise(it);
evas_object_smart_callback_call(obj, SIG_ITEM_FOCUSED, eo_it);
if (_elm_config-atspi_mode)
  elm_interface_atspi_accessible_state_changed_signal_emit(eo_it, 
ELM_ATSPI_STATE_FOCUSED, EINA_TRUE);
@@ -3849,17 +3856,7 @@ _elm_gengrid_item_elm_widget_item_focus_set(Eo *eo_it, 
Elm_Gen_Item *it, Eina_Bo
  /* If item is not realized state, widget couldn't get 
focus_highlight data. */
  if (it-realized)
{
-  const char *focus_raise;
-  if (elm_widget_focus_highlight_enabled_get(obj))
-{
-   edje_object_signal_emit
-  (VIEW(it), elm,state,focused, elm);
-}
-
-  focus_raise = edje_object_data_get(VIEW(it), focusraise);
-  if ((focus_raise)  (!strcmp(focus_raise, on)))
-evas_object_raise(VIEW(it));
-
+  _elm_gengrid_item_focus_raise(it);
   _elm_widget_item_highlight_in_theme(obj, eo_it);
   _elm_widget_highlight_in_theme_update(obj);
   _elm_widget_focus_highlight_start(obj);

-- 




[EGIT] [core/elementary] master 01/11: focus: fix typo in API Documentation.

2015-06-25 Thread Vaibhav Gupta
cedric pushed a commit to branch master.

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

commit b116f8a3614150b550a655215a925414639a55de
Author: Vaibhav Gupta g.vaibh...@samsung.com
Date:   Thu Jun 25 15:54:39 2015 +0200

focus: fix typo in API Documentation.

Summary: Signed-off-by: Vaibhav Gupta g.vaibh...@samsung.com

Reviewers: raster, Hermet, cedric

Reviewed By: cedric

Subscribers: sachin.dev, singh.amitesh

Differential Revision: https://phab.enlightenment.org/D2767

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 src/lib/elm_focus.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/elm_focus.h b/src/lib/elm_focus.h
index 29883f7..2b3801d 100644
--- a/src/lib/elm_focus.h
+++ b/src/lib/elm_focus.h
@@ -356,7 +356,7 @@ EAPI void 
elm_object_focus_move_policy_set(Evas_Object *obj, Elm
  * @param obj The Elementary widget to get the information from
  * @return The focus movement policy
  *
- * Get how the focus is moved to the give Elemenray object. It can be
+ * Get how the focus is moved to the give Elementary object. It can be
  * #ELM_FOCUS_MOVE_POLICY_CLICK, #ELM_FOCUS_MOVE_POLICY_IN,
  * or #ELM_FOCUS_MOVE_POLICY_KEY_ONLY.
  * The first means elementary focus is moved on elementary object click.

-- 




[EGIT] [core/elementary] master 11/11: elm_interface_scrollable: fix wrong mirrored calculation

2015-06-25 Thread SangHyeon Lee
cedric pushed a commit to branch master.

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

commit e10bb019fa962a564e42a45536d94c2ee23d0fbc
Author: SangHyeon Lee dltkdgus1...@gmail.com
Date:   Thu Jun 25 16:44:41 2015 +0200

elm_interface_scrollable: fix wrong mirrored calculation

Summary:
This Patch is regarding D2553, but funtionally independent patch.
D2557 is also related with this patch, so to test working fine,
need to install those all three patches.

1. _elm_interface_scrollable_content_region_show store wx
   into scroll_interface_data without coverting mirrored_x.
   fix to store wx to mirror-converted x if is_mirrored.

2. _elm_scroll_x_mirrored_get return mirroed_x after compare zero not minx.
   so current mirrored_x couldn't be less then 0.
   fix to check min not 0 for set return value.

3.  _elm_scroll_x_mirrored_get calculation need to consider start position 
of scroller.
some scroller(e.g. gengrid) start from non-zero position, so calculation 
need to change
like below.
ret = (cw - (x + w - min));

@fix

Test Plan: You can test this after merge D2553 patch and D2557 and test 
gengrid2.

Reviewers: raster, Hermet, seoz, jaehwan, tanwar.umesh07, cedric

Subscribers: tanwar.umesh07, Jaehyun, anand.km, eagleeye, singh.amitesh

Differential Revision: https://phab.enlightenment.org/D2558

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 src/lib/elm_interface_scrollable.c | 13 +++--
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/src/lib/elm_interface_scrollable.c 
b/src/lib/elm_interface_scrollable.c
index bf598db..4adebcd 100644
--- a/src/lib/elm_interface_scrollable.c
+++ b/src/lib/elm_interface_scrollable.c
@@ -1197,18 +1197,19 @@ static Evas_Coord
 _elm_scroll_x_mirrored_get(const Evas_Object *obj,
Evas_Coord x)
 {
-   Evas_Coord cw = 0, ch = 0, w = 0, ret;
+   Evas_Coord cw = 0, w = 0, min = 0, ret;
 
ELM_SCROLL_IFACE_DATA_GET_OR_RETURN_VAL(obj, sid, x);
 
if (!sid-pan_obj) return 0;
 
+   eo_do(sid-pan_obj, elm_obj_pan_pos_min_get(min, NULL));
eo_do((Eo *)obj, elm_interface_scrollable_content_viewport_geometry_get
  (NULL, NULL, w, NULL));
-   eo_do(sid-pan_obj, elm_obj_pan_content_size_get(cw, ch));
-   ret = (cw - (x + w));
+   eo_do(sid-pan_obj, elm_obj_pan_content_size_get(cw, NULL));
+   ret = cw - w - x + min + min;
 
-   return (ret = 0) ? ret : 0;
+   return (ret = min) ? ret : min;
 }
 
 /* Update the wanted coordinates according to the x, y passed
@@ -1808,7 +1809,7 @@ _elm_interface_scrollable_content_region_set(Eo *obj, 
Elm_Scrollable_Smart_Inter
 EOLIAN static void
 _elm_interface_scrollable_content_region_show(Eo *obj, 
Elm_Scrollable_Smart_Interface_Data *sid, Evas_Coord x, Evas_Coord y, 
Evas_Coord w, Evas_Coord h)
 {
-   sid-wx = x;
+   sid-wx = (sid-is_mirrored ? _elm_scroll_x_mirrored_get(sid-obj, x) : x);
sid-wy = y;
sid-ww = w;
sid-wh = h;
@@ -4303,7 +4304,7 @@ _elm_interface_scrollable_page_show(Eo *obj, 
Elm_Scrollable_Smart_Interface_Data
if (pagenumber_h = 0) x = sid-pagesize_h * pagenumber_h;
if (pagenumber_v = 0) y = sid-pagesize_v * pagenumber_v;
 
-   sid-wx = x;
+   sid-wx = (sid-is_mirrored ? _elm_scroll_x_mirrored_get(sid-obj, x) : x);
sid-wy = y;
sid-ww = w;
sid-wh = h;

-- 




[EGIT] [core/elementary] master 09/11: elm_gengrid: fix the bug that gengrid item index(position) is updated wrong value in item_update

2015-06-25 Thread SangHyeon Lee
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=80c8cfb7a244d770102b9411f84cfc8e84192190

commit 80c8cfb7a244d770102b9411f84cfc8e84192190
Author: SangHyeon Lee dltkdgus1...@gmail.com
Date:   Thu Jun 25 16:35:44 2015 +0200

elm_gengrid: fix the bug that gengrid item index(position) is updated wrong 
value in item_update

Summary:
elm_gengrid_item_update perform item_unrealize/item_realize/item_place 
itself.
But when gengrid items are added and not calculated yet,
caller want to get item's index after execute elm_gengrid_item_update,
return value is wrong because item_place update it's position in 
not-updated item's x and y.

to prevent this,
if item position is already updated,
do not updates position in item place.

additionally,
I fixed gengrid item prepend wrong posiiton update.
gengrid item position start from 1 not 0, so item_position_update also must 
be started from 1.

@fix

Test Plan:
To test this scenario,
need to fix src/bin/test_gengrid.c first.

1. add below codes in bottom of _after_bt_clicked(line 703).

```
  Elm_Object_Item *it = elm_gengrid_item_next_get(id-item);
  printf(before update efl item[%p], index 
[%d]\n,id-item,elm_gengrid_item_index_get(it));
  elm_gengrid_item_update(it);
  printf(after update efl item[%p], index 
[%d]\n,id-item,elm_gengrid_item_index_get(it));
```

2. execute elementary_test and go to gengrid2 test.

3. add 3 items and select 2nd item then add new item by insert after.

4. you can see index is changed wrong value after item_update executed.

after add fallback code in item_update,
index is returned same value even after item_update execusion.

Reviewers: raster, Hermet, seoz, jaehwan

Subscribers: anand.km, eagleeye, singh.amitesh

Differential Revision: https://phab.enlightenment.org/D2616

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 src/lib/elm_gengrid.c | 18 +-
 1 file changed, 13 insertions(+), 5 deletions(-)

diff --git a/src/lib/elm_gengrid.c b/src/lib/elm_gengrid.c
index c996b63..70f30ec 100644
--- a/src/lib/elm_gengrid.c
+++ b/src/lib/elm_gengrid.c
@@ -1507,7 +1507,7 @@ _item_place(Elm_Gen_Item *it,
   tch = items_row * wsd-item_height;
 alignh = (vh - tch) * wsd-align_y;
 item_pos = items_row * cx + cy + 1;
-if (item_pos != it-position)
+if (item_pos != it-position  !it-position_update)
   {
  it-position = item_pos;
  it-position_update = EINA_TRUE;
@@ -1540,7 +1540,7 @@ _item_place(Elm_Gen_Item *it,
   tcw = items_col * wsd-item_width;
 alignw = (vw - tcw) * wsd-align_x;
 item_pos = cx + items_col * cy + 1;
-if (item_pos != it-position)
+if (item_pos != it-position  !it-position_update)
   {
  it-position = item_pos;
  it-position_update = EINA_TRUE;
@@ -1604,7 +1604,10 @@ _item_place(Elm_Gen_Item *it,
  {
 _item_realize(it);
 if (!was_realized)
-  evas_object_smart_callback_call(WIDGET(it), SIG_REALIZED, 
EO_OBJ(it));
+  {
+ _elm_gengrid_item_index_update(it);
+ evas_object_smart_callback_call(WIDGET(it), SIG_REALIZED, 
EO_OBJ(it));
+  }
 if (it-parent)
   {
  if (wsd-horizontal)
@@ -1798,7 +1801,10 @@ _group_item_place(Elm_Gengrid_Pan_Data *psd)
   {
  _item_realize(it);
  if (!was_realized)
-   evas_object_smart_callback_call(WIDGET(it), SIG_REALIZED, 
EO_OBJ(it));
+   {
+  _elm_gengrid_item_index_update(it);
+  evas_object_smart_callback_call(WIDGET(it), SIG_REALIZED, 
EO_OBJ(it));
+   }
  evas_object_move
(VIEW(it), GG_IT(it)-gx,
GG_IT(it)-gy);
@@ -4285,7 +4291,7 @@ _elm_gengrid_item_prepend(Eo *obj, Elm_Gengrid_Data *sd, 
const Elm_Gengrid_Item_
if (!it) return NULL;
 
sd-items = eina_inlist_prepend(sd-items, EINA_INLIST_GET(it));
-   _item_position_update(sd-items, 0);
+   _item_position_update(sd-items, 1);
 
if (it-group)
  sd-group_items = eina_list_append(sd-group_items, it);
@@ -4421,6 +4427,8 @@ _elm_gengrid_item_update(Eo *eo_item EINA_UNUSED, 
Elm_Gen_Item *it)
_elm_gengrid_item_unrealize(it, EINA_TRUE);
_item_realize(it);
_item_place(it, it-x, it-y);
+
+   _elm_gengrid_item_index_update(it);
 }
 
 EOLIAN static void

-- 




[EGIT] [core/elementary] master 02/11: elm_colorselector: pixel-picker accuracy fix

2015-06-25 Thread Vitalii Vorobiov
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=4fe4ee851673817043773d66d2b1552b9c0141d1

commit 4fe4ee851673817043773d66d2b1552b9c0141d1
Author: Vitalii Vorobiov vi.vorob...@samsung.com
Date:   Thu Jun 25 16:11:37 2015 +0200

elm_colorselector: pixel-picker accuracy fix

Summary:
Looking at the base array of pixels,
the real middle of taken picture
is actually number 8 from array of 17 pixels (which starts from 0).

@fix

Reviewers: reutskiy.v.v, raster, NikaWhite, cedric

Reviewed By: NikaWhite, cedric

Differential Revision: https://phab.enlightenment.org/D2749

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 src/lib/elm_colorselector.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/lib/elm_colorselector.c b/src/lib/elm_colorselector.c
index 20915f0..5dc9f17 100644
--- a/src/lib/elm_colorselector.c
+++ b/src/lib/elm_colorselector.c
@@ -576,9 +576,9 @@ _mouse_up_cb(void *data, int type EINA_UNUSED, void *event 
EINA_UNUSED)
ELM_SAFE_FREE(sd-grab.mouse_up, ecore_event_handler_del);
 
pixels = evas_object_image_data_get(sd-picker_display, EINA_FALSE);
-   r = (pixels[17 * 9 + 9]  16)  0xFF;
-   g = (pixels[17 * 9 + 9]  8)  0xFF;
-   b = pixels[17 * 9 + 9]  0xFF;
+   r = (pixels[17 * 8 + 8]  16)  0xFF;
+   g = (pixels[17 * 8 + 8]  8)  0xFF;
+   b = pixels[17 * 8 + 8]  0xFF;
 
_colors_set(o, r, g, b, 0xFF);
evas_object_smart_callback_call(o, SIG_CHANGED_USER, NULL);

-- 




[EGIT] [core/elementary] master 05/11: elm_spinner: add feature in spinner to change values while dragging relative to the speed of dragging

2015-06-25 Thread godly.talias
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=1fa9c23544617907caf0e706c74545117f034c7d

commit 1fa9c23544617907caf0e706c74545117f034c7d
Author: godly.talias godly.tal...@samsung.com
Date:   Thu Jun 25 16:27:09 2015 +0200

elm_spinner: add feature in spinner to change values while dragging 
relative to the speed of dragging

Summary:
Currently the values in spinner change while dragging only based on
the amount of pixels dragged, this patch will enable Spinner to change value
based on the speed of dragging so that it will be more user friendly. This
will help users to alter drag values by big amounts if dragged in a good 
speed.

Test Plan: test_spinner.c in elementary_test

Reviewers: raster, prince.dubey, shilpasingh, cedric

Reviewed By: cedric

Subscribers: poornima.srinivasan, rajeshps, govi

Differential Revision: https://phab.enlightenment.org/D2659

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 AUTHORS  |  1 +
 src/bin/test_spinner.c   |  2 +-
 src/lib/elm_authors.h|  1 +
 src/lib/elm_spinner.c| 17 +
 src/lib/elm_widget_spinner.h |  3 +--
 5 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/AUTHORS b/AUTHORS
index 4c6dc9a..404439a 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -164,3 +164,4 @@ Jee-Yong Um con...@gmail.com
 Ji-In Moon jiin.m...@samsung.com 
 Subodh Kumar s7158.ku...@samsung.com
 Kumar Navneet k.navn...@samsung.com
+Godly T Alias godly.tal...@samsung.com
diff --git a/src/bin/test_spinner.c b/src/bin/test_spinner.c
index e3c2c4d..41eb63f 100644
--- a/src/bin/test_spinner.c
+++ b/src/bin/test_spinner.c
@@ -35,7 +35,7 @@ test_spinner(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_i
elm_spinner_label_format_set(sp, %1.1f units);
elm_spinner_step_set(sp, 1.3);
elm_spinner_wrap_set(sp, EINA_TRUE);
-   elm_spinner_min_max_set(sp, -50.0, 250.0);
+   elm_spinner_min_max_set(sp, -5000.0, 5000.0);
evas_object_size_hint_align_set(sp, EVAS_HINT_FILL, 0.5);
evas_object_size_hint_weight_set(sp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_smart_callback_add(sp, spinner,drag,start,
diff --git a/src/lib/elm_authors.h b/src/lib/elm_authors.h
index 6c2f996..71cc0f6 100644
--- a/src/lib/elm_authors.h
+++ b/src/lib/elm_authors.h
@@ -162,6 +162,7 @@
  * @author yinsc shouchen.yin@@samsung.com
  * @author Subodh Kumar s7158.kumar@@samsung.com
  * @author Kumar Navneet k.navneet@@samsung.com
+ * @author Godly T Alias godly.talias@@samsung.com
  *
  * Please contact enlightenment-de...@lists.sourceforge.net to get in
  * contact with the developers and maintainers.
diff --git a/src/lib/elm_spinner.c b/src/lib/elm_spinner.c
index 9624380..654e1a6 100644
--- a/src/lib/elm_spinner.c
+++ b/src/lib/elm_spinner.c
@@ -217,11 +217,18 @@ _drag_cb(void *data,
else
  eo_do((Eo *)wd-resize_obj,
edje_obj_part_drag_value_get(elm.dragable.slider, pos, NULL));
+   if (sd-drag_prev_pos != 0)
+ sd-drag_val_step = pow((pos - sd-drag_prev_pos), 2);
+   else
+ sd-drag_val_step = 1;
+
 
-   delta = pos * sd-step * _elm_config-scale;
+   delta = sd-drag_val_step * sd-step * _elm_config-scale;
+   if (pos  sd-drag_prev_pos) delta *= -1;
+   sd-drag_prev_pos = pos;
/* If we are on rtl mode, change the delta to be negative on such changes */
if (elm_widget_mirrored_get(obj)) delta *= -1;
-   if (_value_set(data, sd-drag_start_val + delta)) _label_write(data);
+   if (_value_set(data, sd-val + delta)) _label_write(data);
sd-dragging = 1;
 }
 
@@ -233,7 +240,8 @@ _drag_start_cb(void *data,
 {
ELM_SPINNER_DATA_GET(data, sd);
 
-   sd-drag_start_val = sd-val;
+   sd-drag_prev_pos = 0;
+   sd-drag_val_step = 1;
 
evas_object_smart_callback_call(obj, SIG_DRAG_START, NULL);
 }
@@ -247,7 +255,8 @@ _drag_stop_cb(void *data,
ELM_SPINNER_DATA_GET(data, sd);
ELM_WIDGET_DATA_GET_OR_RETURN(data, wd);
 
-   sd-drag_start_val = 0;
+   sd-drag_prev_pos = 0;
+   sd-drag_val_step = 1;
edje_object_part_drag_value_set
  (wd-resize_obj, elm.dragable.slider, 0.0, 0.0);
 
diff --git a/src/lib/elm_widget_spinner.h b/src/lib/elm_widget_spinner.h
index d0a4939..151b704 100644
--- a/src/lib/elm_widget_spinner.h
+++ b/src/lib/elm_widget_spinner.h
@@ -32,8 +32,7 @@ struct _Elm_Spinner_Data
const char   *label;
doubleval, val_min, val_max, val_base;
doublestep; /** step for the value change. 1 by default. */
-   doubledrag_start_val; /** spinner value on drag start.
- this is reset to 0 when drag stops. */
+   doubledrag_prev_pos, drag_val_step;
doublespin_speed, interval, first_interval;
int   round;
Ecore_Timer  *delay_change_timer; /** a timer for a delay,changed 
smart callback */


[EGIT] [core/efl] master 04/04: evas: fix shooter example

2015-06-25 Thread perepelits.m
cedric pushed a commit to branch master.

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

commit f259ff8d4cf30ce2c23137702af04e123c599f99
Author: perepelits.m perepelit...@samsung.com
Date:   Thu Jun 25 16:22:00 2015 +0200

evas: fix shooter example

Summary: Disable atlas flag for all objects, fix motion algorithm, add 
primitives.

Reviewers: Hermet, raster, cedric

Subscribers: cedric, artem.popov

Differential Revision: https://phab.enlightenment.org/D2693

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 src/examples/evas/shooter/evas-3d-shooter-header.h |   2 +
 src/examples/evas/shooter/evas-3d-shooter-macros.h | 129 
 src/examples/evas/shooter/evas-3d-shooter.c| 333 +
 3 files changed, 150 insertions(+), 314 deletions(-)

diff --git a/src/examples/evas/shooter/evas-3d-shooter-header.h 
b/src/examples/evas/shooter/evas-3d-shooter-header.h
index 235c85b..de70da7 100644
--- a/src/examples/evas/shooter/evas-3d-shooter-header.h
+++ b/src/examples/evas/shooter/evas-3d-shooter-header.h
@@ -21,6 +21,8 @@
 
 typedef struct _Scene_Data
 {
+   Eo  *cube_primitive;
+   Eo  *sphere_primitive;
Eo  *cylinder_primitive;
Eo  *texture_diffuse_eagle;
Eo  *texture_diffuse_world;
diff --git a/src/examples/evas/shooter/evas-3d-shooter-macros.h 
b/src/examples/evas/shooter/evas-3d-shooter-macros.h
index 2eb3282..bf3964a 100644
--- a/src/examples/evas/shooter/evas-3d-shooter-macros.h
+++ b/src/examples/evas/shooter/evas-3d-shooter-macros.h
@@ -62,10 +62,50 @@ typedef struct _vec2
 float   y;
 } vec2;
 
-#define KEY_MOTION(lateral, camera)   \
-   {  \
-  lateral_motion_indicator = lateral; \
-  camera_move = camera;   \
+#define KEY_MOTION(way)  \
+   { \
+  for (i = 0; (motion_vec[i]  0)  (!pressed); i++)\
+pressed = (motion_vec[i] == way);\
+ \
+  if (!pressed)  \
+motion_vec[i] = way; \
+ \
+  if ((way == 1) || (way == 3))  \
+camera_move = CAMERA_MOVE;   \
+  else   \
+camera_move = -CAMERA_MOVE;  \
+ \
+  if (way  3)   \
+lateral_motion_indicator = 0;\
+  else   \
+lateral_motion_indicator = 1;\
+   }
+
+#define KEY_MOTION_DOWN(way) \
+   { \
+  while ((motion_vec[i] != way)  (i  4))  \
+i++; \
+  for (j = i; j  3; j++)\
+motion_vec[j] = motion_vec[j + 1];   \
+  motion_vec[3] = 0; \
+ \
+  i = 0; \
+  while (motion_vec[i]  0)  \
+i++; \
+  if (i  0) \
+{\
+   if ((motion_vec[i - 1] == 1) || (motion_vec[i - 1] == 3)) \
+ camera_move = CAMERA_MOVE;  \
+   else  \
+ camera_move = -CAMERA_MOVE; \
+ \
+   if (motion_vec[i-1]  3)  \
+ lateral_motion_indicator = 0;   \
+   else  \
+ lateral_motion_indicator = 1;   \
+}\
+  else   \
+camera_move = 0; \
}
 
 
@@ -86,7 +126,7 @@ typedef struct _vec2
eo_do(mesh, 
evas_canvas3d_mesh_shade_mode_set(EVAS_CANVAS3D_SHADE_MODE_PHONG));
 
 
-#define SETUP_MESH(Object, Name, a, d, s)  
 

[EGIT] [core/efl] master 01/04: eina: add test cases for eina matrix map and transform functions

2015-06-25 Thread Vivek Ellur
cedric pushed a commit to branch master.

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

commit 70e5687f6c43ffd3a66de592e625ff59c15909b6
Author: Vivek Ellur vivek.el...@samsung.com
Date:   Thu Jun 25 15:35:33 2015 +0200

eina: add test cases for eina matrix map and transform functions

Summary:
Added test cases for matrix map and transform functions

Signed-off-by: Vivek Ellur vivek.el...@samsung.com

Reviewers: stefan_schmidt, cedric

Reviewed By: stefan_schmidt, cedric

Subscribers: stefan_schmidt, cedric

Differential Revision: https://phab.enlightenment.org/D2758

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 src/tests/eina/eina_test_matrix.c | 53 +++
 1 file changed, 53 insertions(+)

diff --git a/src/tests/eina/eina_test_matrix.c 
b/src/tests/eina/eina_test_matrix.c
index ed7c7ef..af1e005 100644
--- a/src/tests/eina/eina_test_matrix.c
+++ b/src/tests/eina/eina_test_matrix.c
@@ -366,6 +366,58 @@ START_TEST(eina_matrix3_f16p16)
 }
 END_TEST
 
+START_TEST(eina_matrix3_map_transform)
+{
+   double x = 2, y = 3, x1, y1;
+   Eina_Matrix3 m;
+   Eina_Rectangle r;
+   Eina_Quad q;
+   Eina_Bool ret;
+
+   eina_init();
+
+   eina_matrix3_values_set(m,
+   0, 1, 0,
+   1, 0, 0,
+   0, 0, 1);
+
+   eina_matrix3_point_transform(m,
+x, y,
+x1, y1);
+   fail_if(x1 != 3 || y1 != 2);
+
+   EINA_RECTANGLE_SET(r, 0, 0, 3, 4);
+   eina_matrix3_rectangle_transform(m, r, q);
+
+   fail_if(q.x0 != 0 || q.y0 != 0 ||
+   q.x1 != 0 || q.y1 != 3 ||
+   q.x2 != 4 || q.y2 != 3 ||
+   q.x3 != 4 || q.y3 != 0);
+
+   eina_quad_coords_set(q,
+0.0, 0.0,
+3.0, 0.0,
+3.0, 3.0,
+0.0, 3.0);
+   ret = eina_matrix3_square_quad_map(m, q);
+   fail_if(ret != EINA_TRUE);
+
+   fail_if(m.xx != 3 || m.xy != 0 || m.xz != 0 ||
+   m.yx != 0 || m.yy != 3 || m.yz != 0 ||
+   m.zx != 0 || m.zy != 0 || m.zz != 1);
+
+   ret = eina_matrix3_quad_square_map(m, q);
+   fail_if(ret != EINA_TRUE);
+
+   fail_if(q.x0 != 0 || q.y0 != 0 ||
+   q.x1 != 3 || q.y1 != 0 ||
+   q.x2 != 3 || q.y2 != 3 ||
+   q.x3 != 0 || q.y3 != 3);
+
+   eina_shutdown();
+}
+END_TEST
+
 void
 eina_test_matrix(TCase *tc)
 {
@@ -374,4 +426,5 @@ eina_test_matrix(TCase *tc)
tcase_add_test(tc, eina_matrix3);
tcase_add_test(tc, eina_matrix3_operations);
tcase_add_test(tc, eina_matrix3_f16p16);
+   tcase_add_test(tc, eina_matrix3_map_transform);
 }

-- 




[EGIT] [core/efl] master 03/04: edje: add mask_flags instruction for part block

2015-06-25 Thread Jee-Yong Um
cedric pushed a commit to branch master.

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

commit 2b29f4dfbf901d40aee552345ae5285b1c2e484c
Author: Jee-Yong Um con...@gmail.com
Date:   Thu Jun 25 16:02:41 2015 +0200

edje: add mask_flags instruction for part block

Summary:
Elementary widgets dealing with Evas Events usually mask event_flags with
EVAS_EVENT_FLAG_ON_HOLD, to show that this event is already handled.
However, widget like Elm_Button, it does not handle 
EVAS_CALLBACK_MOUSE_DOWN directly,
but it handles Edje_Signal instead, so there's no chance to mask 
event_flags.
Developers can block event propagation by putting rectangle the very last 
part of EDC,
but this instruction can help the case making elementary widget with only 
Edje_Signal handling.
This is not required essentially, so please check the necessity of this 
function.

Reviewers: Hermet, cedric

Reviewed By: cedric

Subscribers: cedric, Hermet

Differential Revision: https://phab.enlightenment.org/D2764

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 src/bin/edje/edje_cc_handlers.c  | 32 ++
 src/bin/edje/edje_convert.c  |  1 +
 src/bin/edje/edje_convert.h  |  1 +
 src/bin/edje/edje_data_convert.c |  1 +
 src/lib/edje/Edje_Edit.h | 19 ++
 src/lib/edje/edje_callbacks.c| 42 +++-
 src/lib/edje/edje_convert.c  |  1 +
 src/lib/edje/edje_convert.h  |  1 +
 src/lib/edje/edje_data.c |  1 +
 src/lib/edje/edje_edit.c | 23 ++
 src/lib/edje/edje_entry.c|  5 +
 src/lib/edje/edje_private.h  |  1 +
 12 files changed, 115 insertions(+), 13 deletions(-)

diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c
index f6458f8..7834ffb 100644
--- a/src/bin/edje/edje_cc_handlers.c
+++ b/src/bin/edje/edje_cc_handlers.c
@@ -253,6 +253,7 @@ static void 
st_collections_group_parts_part_mouse_events(void);
 static void st_collections_group_parts_part_anti_alias(void);
 static void st_collections_group_parts_part_repeat_events(void);
 static void st_collections_group_parts_part_ignore_flags(void);
+static void st_collections_group_parts_part_mask_flags(void);
 static void st_collections_group_parts_part_scale(void);
 static void st_collections_group_parts_part_pointer_mode(void);
 static void st_collections_group_parts_part_precise_is_inside(void);
@@ -691,6 +692,7 @@ New_Statement_Handler statement_handlers[] =
  {collections.group.parts.part.anti_alias, 
st_collections_group_parts_part_anti_alias},
  {collections.group.parts.part.repeat_events, 
st_collections_group_parts_part_repeat_events},
  {collections.group.parts.part.ignore_flags, 
st_collections_group_parts_part_ignore_flags},
+ {collections.group.parts.part.mask_flags, 
st_collections_group_parts_part_mask_flags},
  {collections.group.parts.part.scale, 
st_collections_group_parts_part_scale},
  {collections.group.parts.part.pointer_mode, 
st_collections_group_parts_part_pointer_mode},
  {collections.group.parts.part.precise_is_inside, 
st_collections_group_parts_part_precise_is_inside},
@@ -983,6 +985,7 @@ New_Statement_Handler statement_handlers[] =
  before - insert_before
  after - insert_after
  ignore - ignore_flags
+ mask - mask_flags
  pointer - pointer_mode
  alt_font - use_alternate_font_metrics
  clip - clip_to
@@ -1006,6 +1009,7 @@ New_Statement_Handler statement_handlers_short[] =
  {collections.group.parts.part.before, 
st_collections_group_parts_part_insert_before},
  {collections.group.parts.part.after, 
st_collections_group_parts_part_insert_after},
  {collections.group.parts.part.ignore, 
st_collections_group_parts_part_ignore_flags},
+ {collections.group.parts.part.mask, 
st_collections_group_parts_part_mask_flags},
  {collections.group.parts.part.pointer, 
st_collections_group_parts_part_pointer_mode},
  {collections.group.parts.part.alt_font, 
st_collections_group_parts_part_use_alternate_font_metrics},
  {collections.group.parts.part.clip, 
st_collections_group_parts_part_clip_to_id},
@@ -3433,6 +3437,7 @@ _part_copy(Edje_Part *ep, Edje_Part *ep2)
ep-anti_alias = ep2-anti_alias;
ep-repeat_events = ep2-repeat_events;
ep-ignore_flags = ep2-ignore_flags;
+   ep-mask_flags = ep2-mask_flags;
ep-scale = ep2-scale;
ep-pointer_mode = ep2-pointer_mode;
ep-precise_is_inside = ep2-precise_is_inside;
@@ -4422,6 +4427,7 @@ st_collections_group_parts_alias(void)
 mouse_events:  1;
 repeat_events: 0;
 ignore_flags: NONE;
+mask_flags: NONE;
 clip_to: anotherpart;
 source:  groupname;
 

[EGIT] [core/efl] master 02/04: edje: implement methods for mouse_events with edje_part for Edje Embryo script.

2015-06-25 Thread Jee-Yong Um
cedric pushed a commit to branch master.

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

commit ef491e697e60a6e79bec27164342bfb103d2c95a
Author: Jee-Yong Um con...@gmail.com
Date:   Thu Jun 25 15:56:48 2015 +0200

edje: implement methods for mouse_events with edje_part for Edje Embryo 
script.

Summary:
In edje_embryo.c, there are the list for supported methods in script.
However, methods listed from line 175 to 188 don't exist actually.
This patch implements 4 methods among them.
   set_mouse_events(part_id, ev)
   get_mouse_events(part_id)
   set_repeat_events(part_id, rep)
   get_repeat_events(part_id)

Reviewers: Hermet, woohyun, cedric

Reviewed By: cedric

Subscribers: cedric, Hermet

Differential Revision: https://phab.enlightenment.org/D2766

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 data/edje/include/edje.inc  |  4 ++
 src/lib/edje/edje_embryo.c  | 95 +
 src/lib/edje/edje_private.h |  5 +++
 src/lib/edje/edje_util.c| 48 +++
 4 files changed, 152 insertions(+)

diff --git a/data/edje/include/edje.inc b/data/edje/include/edje.inc
index 5a3e9dd..98105b6 100644
--- a/data/edje/include/edje.inc
+++ b/data/edje/include/edje.inc
@@ -131,6 +131,10 @@ native   stop_program (program_id);
 native   stop_programs_on (part_id);
 native   set_min_size (Float:w, Float:h);
 native   set_max_size (Float:w, Float:h);
+native   set_mouse_events (part_id, ev);
+native   get_mouse_events (part_id);
+native   set_repeat_events(part_id, rep);
+native   get_repeat_events(part_id);
 native   part_swallow (part_id, GROUP:str[]);
 
 native   external_param_get_int(id, param_name[]);
diff --git a/src/lib/edje/edje_embryo.c b/src/lib/edje/edje_embryo.c
index 2977a54..ddf4ebd 100644
--- a/src/lib/edje/edje_embryo.c
+++ b/src/lib/edje/edje_embryo.c
@@ -3462,6 +3462,96 @@ _edje_embryo_fn_get_state_val(Embryo_Program *ep, 
Embryo_Cell *params)
return 0;
 }
 
+/* set_mouse_events(part_id, ev) */
+static Embryo_Cell
+_edje_embryo_fn_set_mouse_events(Embryo_Program *ep, Embryo_Cell *params)
+{
+   int part_id = 0;
+   Edje *ed;
+   Edje_Real_Part *rp;
+
+   CHKPARAM(2);
+
+   part_id = params[1];
+   if (part_id  0) return 0;
+
+   ed = embryo_program_data_get(ep);
+   rp = ed-table_parts[part_id % ed-table_parts_size];
+
+   if (rp)
+ _edje_part_mouse_events_set(ed, rp, params[2]);
+
+   return 0;
+}
+
+/* get_mouse_events(part_id) */
+static Embryo_Cell
+_edje_embryo_fn_get_mouse_events(Embryo_Program *ep, Embryo_Cell *params)
+{
+   int part_id = 0;
+   Edje *ed;
+   Edje_Real_Part *rp;
+
+   CHKPARAM(1);
+
+   part_id = params[1];
+   if (part_id  0) return 0;
+
+   ed = embryo_program_data_get(ep);
+   rp = ed-table_parts[part_id % ed-table_parts_size];
+
+   if (rp)
+ return (Embryo_Cell)_edje_var_int_get(ed, 
(int)_edje_part_mouse_events_get(ed, rp));
+
+   return 0;
+
+}
+
+/* set_repeat_events(part_id, rep) */
+static Embryo_Cell
+_edje_embryo_fn_set_repeat_events(Embryo_Program *ep, Embryo_Cell *params)
+{
+   int part_id = 0;
+   Edje *ed;
+   Edje_Real_Part *rp;
+
+   CHKPARAM(2);
+
+   part_id = params[1];
+   if (part_id  0) return 0;
+
+   ed = embryo_program_data_get(ep);
+   rp = ed-table_parts[part_id % ed-table_parts_size];
+
+   if (rp)
+ _edje_part_repeat_events_set(ed, rp, params[2]);
+
+   return 0;
+}
+
+/* get_repeat_events(part_id) */
+static Embryo_Cell
+_edje_embryo_fn_get_repeat_events(Embryo_Program *ep, Embryo_Cell *params)
+{
+   int part_id = 0;
+   Edje *ed;
+   Edje_Real_Part *rp;
+
+   CHKPARAM(1);
+
+   part_id = params[1];
+   if (part_id  0) return 0;
+
+   ed = embryo_program_data_get(ep);
+   rp = ed-table_parts[part_id % ed-table_parts_size];
+
+   if (rp)
+ return (Embryo_Cell)_edje_var_int_get(ed, 
(int)_edje_part_repeat_events_get(ed, rp));
+
+   return 0;
+
+}
+
 /* part_swallow(part_id, group_name) */
 static Embryo_Cell
 _edje_embryo_fn_part_swallow(Embryo_Program *ep, Embryo_Cell *params)
@@ -4191,6 +4281,11 @@ _edje_embryo_script_init(Edje_Part_Collection *edc)
embryo_program_native_call_add(ep, get_state_val, 
_edje_embryo_fn_get_state_val);
embryo_program_native_call_add(ep, set_state_anim, 
_edje_embryo_fn_set_state_anim);
 
+   embryo_program_native_call_add(ep, set_mouse_events, 
_edje_embryo_fn_set_mouse_events);
+   embryo_program_native_call_add(ep, get_mouse_events, 
_edje_embryo_fn_get_mouse_events);
+   embryo_program_native_call_add(ep, set_repeat_events, 
_edje_embryo_fn_set_repeat_events);
+   embryo_program_native_call_add(ep, get_repeat_events, 
_edje_embryo_fn_get_repeat_events);
+
embryo_program_native_call_add(ep, part_swallow, 
_edje_embryo_fn_part_swallow);
 
embryo_program_native_call_add(ep, external_param_get_int, 
_edje_embryo_fn_external_param_get_int);
diff 

[EGIT] [core/elementary] annotated tag v1.14.2 created (now f1090d6)

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

stefan pushed a change to annotated tag v1.14.2
in repository core/elementary.

at  f1090d6   (tag)
   tagging  19e7b5e424728817c5c3e1b125c1e686323df8e6 (commit)
  replaces  v1.14.1
 tagged by  Stefan Schmidt
on  Thu Jun 25 15:58:37 2015 +0200

- Log -
v1.14.2

Amitesh Singh (1):
  genlist: fix resize of items when added after elm_genlist_clear().

Carsten Haitzler (2):
  elm list - theme - make compress moder work again
  fix list item mode change on elm list

ChunEon Park (1):
  win: fix bug about engine value.

Mike Blumenkrantz (2):
  win: only trigger del trap if win type is not FAKE
  win: do not use deferred ecore evas deletion for FAKE wins

Stefan Schmidt (2):
  Revert fileselector: Work around initial genlist size bug for release.
  release: Update NEWS and bump version for 1.14.2 release

taehyub (1):
  interface scrollerable: modify the loop_v condition in 
_elm_scroll_momentum_animator() function

---

No new revisions were added by this update.

-- 




[EGIT] [tools/erigo] master 01/01: Update black list

2015-06-25 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=3312b3cc2a1698f3fea766e4548266476e3153b5

commit 3312b3cc2a1698f3fea766e4548266476e3153b5
Author: Yakov Goldberg yako...@samsung.com
Date:   Thu Jun 25 17:18:44 2015 +0300

Update black list
---
 data/config/black_list.json | 1 +
 1 file changed, 1 insertion(+)

diff --git a/data/config/black_list.json b/data/config/black_list.json
index 6db8d75..b610e72 100644
--- a/data/config/black_list.json
+++ b/data/config/black_list.json
@@ -20,6 +20,7 @@
Eo.Base: [],
Edje.Object: [],
Efl.File: [mmap],
+   Efl.Gfx.Filter: [],
Efl.Gfx.Stack: [stack_below, stack_above],
Efl.Gfx.Fill: [fill_spread],
Elm_Interface_Atspi_Text: [],

-- 




[EGIT] [core/elementary] master 01/01: elementary: Add rudimentary support for Elm Wayland apps to set border icon

2015-06-25 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=30b6179eb915595180fa30decc87434aa0c7e290

commit 30b6179eb915595180fa30decc87434aa0c7e290
Author: Chris Michael cp.mich...@samsung.com
Date:   Thu Jun 25 13:33:57 2015 -0400

elementary: Add rudimentary support for Elm Wayland apps to set border icon

Summary: This is a patch to fix T2453 where elm apps in weston/E did
not display the icon on the border. This is just preliminary support
because it only tries to find the efreet desktop file based on
_elm_appname. This support Could be extended to allow efreet to search
based on window title, etc, etc.

@fix

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/lib/elm_win.c | 17 +
 1 file changed, 17 insertions(+)

diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c
index 6d41359..cb909a0 100644
--- a/src/lib/elm_win.c
+++ b/src/lib/elm_win.c
@@ -2836,6 +2836,23 @@ _elm_win_frame_add(Elm_Win_Data *sd,
 
evas_object_is_frame_object_set(sd-frame_obj, EINA_TRUE);
 
+   if (!sd-icon)
+ {
+Efreet_Desktop *d;
+
+sd-icon = elm_icon_add(sd-obj);
+
+d = efreet_util_desktop_exec_find(_elm_appname);
+if (d)
+  {
+ elm_icon_standard_set(sd-icon, d-icon);
+ efreet_desktop_free(d);
+  }
+ }
+
+   edje_object_part_swallow(sd-frame_obj, elm.swallow.icon,
+sd-icon);
+
evas_object_event_callback_add
  (sd-frame_obj, EVAS_CALLBACK_MOVE, _elm_win_frame_obj_move, sd);
evas_object_event_callback_add

-- 




[EGIT] [tools/expedite] master 01/03: expedite: remove FIXME that is already fixed.

2015-06-25 Thread Cedric BAIL
cedric pushed a commit to branch master.

http://git.enlightenment.org/tools/expedite.git/commit/?id=7de69008b43fdb0d839a2a36d3237247da1453c5

commit 7de69008b43fdb0d839a2a36d3237247da1453c5
Author: Cedric BAIL ced...@osg.samsung.com
Date:   Thu Jun 25 17:27:53 2015 +0200

expedite: remove FIXME that is already fixed.
---
 src/bin/main.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/src/bin/main.c b/src/bin/main.c
index 0f4b777..65cdea7 100644
--- a/src/bin/main.c
+++ b/src/bin/main.c
@@ -1141,8 +1141,6 @@ static const Ecore_Getopt optdesc = {
   }
 };
 
-// FIXME: missing - run all [-a], run specific test [-t], list test [-l], 
output compatible with expedite-cmp [-m]
-
 static const Expedite_Resolution resolutions[] = {
   { qvga,320 , 240 },
   { qvga-p,  240 , 320 },

-- 




[EGIT] [core/enlightenment] master 01/01: wl-desktop-shell: Don't crash when trying to place popup menus in QT apps

2015-06-25 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit a57ce9ca8585f3fbea784fd8c3e9a9a9da09eb75
Author: Chris Michael cp.mich...@samsung.com
Date:   Thu Jun 25 12:05:05 2015 -0400

wl-desktop-shell: Don't crash when trying to place popup menus in QT apps

This is a partial fix for T2517. It fixes the crash, but does not
address popup menu placement.

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/modules/wl_desktop_shell/e_mod_main.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/modules/wl_desktop_shell/e_mod_main.c 
b/src/modules/wl_desktop_shell/e_mod_main.c
index e262f8f..d69aa60 100644
--- a/src/modules/wl_desktop_shell/e_mod_main.c
+++ b/src/modules/wl_desktop_shell/e_mod_main.c
@@ -24,7 +24,9 @@ _e_shell_surface_parent_set(E_Client *ec, struct wl_resource 
*parent_resource)
   }
 return;
  }
-   else if (!(pc = wl_resource_get_user_data(parent_resource)))
+
+   pc = wl_resource_get_user_data(parent_resource);
+   if (!pc)
  {
 ERR(Could not get parent resource client);
 return;
@@ -44,8 +46,6 @@ _e_shell_surface_parent_set(E_Client *ec, struct wl_resource 
*parent_resource)
  if (ec-parent-modal == ec) ec-parent-modal = NULL;
  ec-parent = NULL;
   }
-else
-  pc = NULL;
  }
 
if ((pc != ec) 

-- 




[EGIT] [tools/expedite] master 03/03: expedite: add ability to dump any frame.

2015-06-25 Thread Cedric BAIL
cedric pushed a commit to branch master.

http://git.enlightenment.org/tools/expedite.git/commit/?id=c290c2d15c34f188b1745c7fc92a9d7992316294

commit c290c2d15c34f188b1745c7fc92a9d7992316294
Author: Cedric BAIL ced...@osg.samsung.com
Date:   Thu Jun 25 18:30:26 2015 +0200

expedite: add ability to dump any frame.
---
 src/bin/main.c | 55 +++
 src/bin/main.h | 19 ++-
 2 files changed, 65 insertions(+), 9 deletions(-)

diff --git a/src/bin/main.c b/src/bin/main.c
index 65cdea7..98e8ee7 100644
--- a/src/bin/main.c
+++ b/src/bin/main.c
@@ -7,6 +7,7 @@
 Evas *evas = NULL;
 const char *profile = n800;
 const char *choosen_engine = NULL;
+char *output = NULL;
 int win_w = 720, win_h = 420;
 int loops = LOOPS;
 int one_test = 0;
@@ -1128,6 +1129,7 @@ static const Ecore_Getopt optdesc = {
 ECORE_GETOPT_STORE_INT('c', count, Number of main loop run per tests),
 ECORE_GETOPT_STORE_TRUE('f', fullscreen, Make window fullscreen),
 ECORE_GETOPT_STORE_STR('d', datadir, Define expedite data directory),
+ECORE_GETOPT_STORE_STR('o', output, Output frame specified by count 
from test to specified file),
 ECORE_GETOPT_STORE_INT('t', test, Run a single test),
 ECORE_GETOPT_STORE_TRUE('l', list-tests, List all tests),
 ECORE_GETOPT_STORE_TRUE('m', compat, Output compatible with 
expedite-cmp),
@@ -1221,6 +1223,7 @@ main(int argc, char **argv)
  ECORE_GETOPT_VALUE_INT(loops),
  ECORE_GETOPT_VALUE_BOOL(fullscreen),
  ECORE_GETOPT_VALUE_STR(datadir),
+ ECORE_GETOPT_VALUE_STR(output),
  ECORE_GETOPT_VALUE_INT(test),
  ECORE_GETOPT_VALUE_BOOL(tests_list),
  ECORE_GETOPT_VALUE_BOOL(cmp_report),
@@ -1283,6 +1286,57 @@ main(int argc, char **argv)
 
ecore_app_args_set(argc, (const char **) argv);
 
+   if (output)
+ {
+Ecore_Evas *pee;
+Evas_Object *im;
+
+pee = ecore_evas_buffer_new(1, 1);
+if (!pee) return -1;
+
+im = ecore_evas_object_image_new(pee);
+if (!im) return -1;
+evas_object_image_filled_set(im, EINA_TRUE);
+evas_object_image_size_set(im,
+   resolutions[resolution_index].width,
+   resolutions[resolution_index].height);
+
+ee = ecore_evas_object_ecore_evas_get(im);
+if (!ee) return -1;
+
+ecore_evas_resize(ee,
+  resolutions[resolution_index].width,
+  resolutions[resolution_index].height);
+
+evas_object_show(im);
+
+choosen_engine = ecore_evas_engine_name_get(pee);
+evas = ecore_evas_get(ee);
+
+evas_font_path_append(evas, datadir);
+evas_font_hinting_set(evas, EVAS_FONT_HINTING_AUTO);
+
+ui_setup(resolutions[resolution_index].width,
+ resolutions[resolution_index].height);
+
+if (test  0)
+  {
+ one_test = 1;
+ ui_num(test);
+  }
+
+while (loops  0)
+  {
+ ui_loop(NULL);
+ loops--;
+  }
+
+ecore_evas_manual_render(pee);
+evas_object_image_save(im, output, NULL, NULL);
+
+goto done;
+ }
+
ee = ecore_evas_new(engine, 0, 0,
resolutions[resolution_index].width,
resolutions[resolution_index].height,
@@ -1338,6 +1392,7 @@ main(int argc, char **argv)
ecore_main_loop_begin();
ecore_animator_del(anim);
 
+ done:
ecore_evas_free(ee);
 
ecore_evas_shutdown();
diff --git a/src/bin/main.h b/src/bin/main.h
index 4f373b5..cba52c7 100644
--- a/src/bin/main.h
+++ b/src/bin/main.h
@@ -51,6 +51,7 @@ extern int   one_test;
 extern const char *choosen_engine;
 extern Eina_Bool fullscreen;
 extern Eina_Bool cmp_report;
+extern char *output;
 
 typedef struct _Expedite_Resolution Expedite_Resolution;
 typedef struct _Expedite_Engine Expedite_Engine;
@@ -88,15 +89,15 @@ int  engine_abort(void);
  ui_menu(); \
}
 
-#define FPS_STD(x) \
-   if ((f = loops)  (!done)) \
-   { \
- double fps; \
- fps = (double)f / t; \
- printf(%4.2f , %s\n, fps, x); \
- ui_fps(fps); \
- done = 1; \
-   }
+#define FPS_STD(x)\
+  if (!output  (f = loops)  (!done)) \
+{ \
+   double fps;\
+   fps = (double)f / t;   \
+   printf(%4.2f , %s\n, fps, x);\
+   ui_fps(fps);   \
+   done = 1;  \
+}
 
 #define SLOW 5.0
 

-- 




[EGIT] [core/efl] master 01/01: Revert ecore-wayland: Update xdg shell protocol file

2015-06-25 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit 590b597e6e2ac6231b44076faf37f4d121f22941
Author: Chris Michael cp.mich...@samsung.com
Date:   Thu Jun 25 15:14:56 2015 -0400

Revert ecore-wayland: Update xdg shell protocol file

This reverts commit 5793a62fc839af489263c918b78adb7765f8566d.

Reverted due to wrong version being pushed
---
 src/lib/ecore_wayland/xdg-shell-protocol.c | 20 ++--
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/src/lib/ecore_wayland/xdg-shell-protocol.c 
b/src/lib/ecore_wayland/xdg-shell-protocol.c
index 863f74e..82433ea 100644
--- a/src/lib/ecore_wayland/xdg-shell-protocol.c
+++ b/src/lib/ecore_wayland/xdg-shell-protocol.c
@@ -50,8 +50,7 @@ static const struct wl_interface *types[] = {
NULL,
NULL,
NULL,
-   NULL,
-   wl_surface_interface,
+   xdg_surface_interface,
wl_seat_interface,
NULL,
NULL,
@@ -65,9 +64,10 @@ static const struct wl_interface *types[] = {
 };
 
 static const struct wl_message xdg_shell_requests[] = {
+   { destroy, , types + 0 },
{ use_unstable_version, i, types + 0 },
{ get_xdg_surface, no, types + 4 },
-   { get_xdg_popup, nooouiiu, types + 6 },
+   { get_xdg_popup, nooouii, types + 6 },
{ pong, u, types + 0 },
 };
 
@@ -77,23 +77,23 @@ static const struct wl_message xdg_shell_events[] = {
 
 WL_EXPORT const struct wl_interface xdg_shell_interface = {
xdg_shell, 1,
-   4, xdg_shell_requests,
+   5, xdg_shell_requests,
1, xdg_shell_events,
 };
 
 static const struct wl_message xdg_surface_requests[] = {
{ destroy, , types + 0 },
-   { set_parent, ?o, types + 14 },
+   { set_parent, ?o, types + 13 },
{ set_title, s, types + 0 },
{ set_app_id, s, types + 0 },
-   { show_window_menu, ouii, types + 15 },
-   { move, ou, types + 19 },
-   { resize, ouu, types + 21 },
+   { show_window_menu, ouii, types + 14 },
+   { move, ou, types + 18 },
+   { resize, ouu, types + 20 },
{ ack_configure, u, types + 0 },
{ set_window_geometry, , types + 0 },
{ set_maximized, , types + 0 },
{ unset_maximized, , types + 0 },
-   { set_fullscreen, ?o, types + 24 },
+   { set_fullscreen, ?o, types + 23 },
{ unset_fullscreen, , types + 0 },
{ set_minimized, , types + 0 },
 };
@@ -114,7 +114,7 @@ static const struct wl_message xdg_popup_requests[] = {
 };
 
 static const struct wl_message xdg_popup_events[] = {
-   { popup_done, u, types + 0 },
+   { popup_done, , types + 0 },
 };
 
 WL_EXPORT const struct wl_interface xdg_popup_interface = {

-- 




[EGIT] [core/efl] master 01/02: edje_cc: Fix formatting

2015-06-25 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit cbc726ac56040ea3353f2404274836ec1b9a3a32
Author: Chris Michael cp.mich...@samsung.com
Date:   Thu Jun 25 14:54:38 2015 -0400

edje_cc: Fix formatting

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/bin/edje/edje_cc_parse.c | 16 +---
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/src/bin/edje/edje_cc_parse.c b/src/bin/edje/edje_cc_parse.c
index 49da476..9c4e6bc 100644
--- a/src/bin/edje/edje_cc_parse.c
+++ b/src/bin/edje/edje_cc_parse.c
@@ -1842,11 +1842,13 @@ strstrip(const char *in, char *out, size_t size)
 int
 get_param_index(char *str)
 {
-  int index ;
-  for(index = 0; index  get_arg_count(); index++)
-  {
-  if(!strcmp(str,_parse_param_get(index)))
-return index;
-  }
-  return -1;
+   int index;
+
+   for(index = 0; index  get_arg_count(); index++)
+ {
+if(!strcmp(str,_parse_param_get(index)))
+  return index;
+ }
+
+   return -1;
 }

-- 




[EGIT] [core/efl] master 01/01: ecore-wayland: Update xdg shell protocol file

2015-06-25 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit 5793a62fc839af489263c918b78adb7765f8566d
Author: Chris Michael cp.mich...@samsung.com
Date:   Thu Jun 25 15:11:31 2015 -0400

ecore-wayland: Update xdg shell protocol file

Summary: This was a file that should have been updated with
the bump to xdg_shell version 5 however it was not pushed with that
update.

@fix

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/lib/ecore_wayland/xdg-shell-protocol.c | 20 ++--
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/src/lib/ecore_wayland/xdg-shell-protocol.c 
b/src/lib/ecore_wayland/xdg-shell-protocol.c
index 82433ea..863f74e 100644
--- a/src/lib/ecore_wayland/xdg-shell-protocol.c
+++ b/src/lib/ecore_wayland/xdg-shell-protocol.c
@@ -50,7 +50,8 @@ static const struct wl_interface *types[] = {
NULL,
NULL,
NULL,
-   xdg_surface_interface,
+   NULL,
+   wl_surface_interface,
wl_seat_interface,
NULL,
NULL,
@@ -64,10 +65,9 @@ static const struct wl_interface *types[] = {
 };
 
 static const struct wl_message xdg_shell_requests[] = {
-   { destroy, , types + 0 },
{ use_unstable_version, i, types + 0 },
{ get_xdg_surface, no, types + 4 },
-   { get_xdg_popup, nooouii, types + 6 },
+   { get_xdg_popup, nooouiiu, types + 6 },
{ pong, u, types + 0 },
 };
 
@@ -77,23 +77,23 @@ static const struct wl_message xdg_shell_events[] = {
 
 WL_EXPORT const struct wl_interface xdg_shell_interface = {
xdg_shell, 1,
-   5, xdg_shell_requests,
+   4, xdg_shell_requests,
1, xdg_shell_events,
 };
 
 static const struct wl_message xdg_surface_requests[] = {
{ destroy, , types + 0 },
-   { set_parent, ?o, types + 13 },
+   { set_parent, ?o, types + 14 },
{ set_title, s, types + 0 },
{ set_app_id, s, types + 0 },
-   { show_window_menu, ouii, types + 14 },
-   { move, ou, types + 18 },
-   { resize, ouu, types + 20 },
+   { show_window_menu, ouii, types + 15 },
+   { move, ou, types + 19 },
+   { resize, ouu, types + 21 },
{ ack_configure, u, types + 0 },
{ set_window_geometry, , types + 0 },
{ set_maximized, , types + 0 },
{ unset_maximized, , types + 0 },
-   { set_fullscreen, ?o, types + 23 },
+   { set_fullscreen, ?o, types + 24 },
{ unset_fullscreen, , types + 0 },
{ set_minimized, , types + 0 },
 };
@@ -114,7 +114,7 @@ static const struct wl_message xdg_popup_requests[] = {
 };
 
 static const struct wl_message xdg_popup_events[] = {
-   { popup_done, , types + 0 },
+   { popup_done, u, types + 0 },
 };
 
 WL_EXPORT const struct wl_interface xdg_popup_interface = {

-- 




[EGIT] [core/efl] master 02/02: edje_cc: Fix dereference null return value

2015-06-25 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit 6949d1193eb7f3f7d9218157e78cdf1de5ba8c23
Author: Chris Michael cp.mich...@samsung.com
Date:   Thu Jun 25 14:55:44 2015 -0400

edje_cc: Fix dereference null return value

Summary: Fix Coverity CID1308232 which reports that we may be passing
NULL to strcmp here as the function _parse_param_get May return NULL.

@fix

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/bin/edje/edje_cc_parse.c | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/bin/edje/edje_cc_parse.c b/src/bin/edje/edje_cc_parse.c
index 9c4e6bc..5f405df 100644
--- a/src/bin/edje/edje_cc_parse.c
+++ b/src/bin/edje/edje_cc_parse.c
@@ -1843,10 +1843,14 @@ int
 get_param_index(char *str)
 {
int index;
+   char *p;
 
for(index = 0; index  get_arg_count(); index++)
  {
-if(!strcmp(str,_parse_param_get(index)))
+p = _parse_param_get(index);
+if (!p) continue;
+
+if (!strcmp(str, p))
   return index;
  }
 

-- 




[EGIT] [core/efl] master 01/01: edje_cc: Fix dereference before null check

2015-06-25 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit 30363956f1d1cb8d0457ccf784400baa2ff8f5c8
Author: Chris Michael cp.mich...@samsung.com
Date:   Thu Jun 25 14:59:28 2015 -0400

edje_cc: Fix dereference before null check

Summary: Fix Coverity CID1302700 which reports a dereference before
null check. Basically, it is safe to call free() with a possible NULL
value so we can remove the 'if' check here.

@fix

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/bin/edje/edje_cc_out.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/edje/edje_cc_out.c b/src/bin/edje/edje_cc_out.c
index be534aa..24066ad 100755
--- a/src/bin/edje/edje_cc_out.c
+++ b/src/bin/edje/edje_cc_out.c
@@ -1065,7 +1065,7 @@ data_write_images(Eet_File *ef, int *image_num)
 }
   else
 {
-   if (iw) free(iw);
+   free(iw);
error_and_abort_image_load_error
  (ef, img-entry, load_err);
exit(1); // ensure static analysis tools know we exit

-- 




[EGIT] [core/elementary] master 02/05: interface_scrollable: Add more description to animators.

2015-06-25 Thread Daniel Juyung Seo
seoz pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=9b47996b6c7a6e09194f4ca537c4f7e4152b573e

commit 9b47996b6c7a6e09194f4ca537c4f7e4152b573e
Author: Daniel Juyung Seo seojuyu...@gmail.com
Date:   Tue Jun 9 01:18:48 2015 +0900

interface_scrollable: Add more description to animators.

It is surprising that there is no such a comment on a scrollerable
interface considering the complexity of scroller.
---
 src/lib/elm_interface_scrollable.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/lib/elm_interface_scrollable.h 
b/src/lib/elm_interface_scrollable.h
index 1867075..f58ab9f 100644
--- a/src/lib/elm_interface_scrollable.h
+++ b/src/lib/elm_interface_scrollable.h
@@ -112,9 +112,9 @@ struct _Elm_Scrollable_Smart_Interface_Data
   Ecore_Idle_Enterer *hold_enterer;
   Ecore_Animator *hold_animator;
   Ecore_Animator *onhold_animator;
-  Ecore_Animator *momentum_animator;
-  Ecore_Animator *bounce_x_animator;
-  Ecore_Animator *bounce_y_animator;
+  Ecore_Animator *momentum_animator; /** an animator which is called 
whenever a scroller is moving due to a flick action(mouse down, move, up) */
+  Ecore_Animator *bounce_x_animator; /** an animator to express the 
bouncing animation on x axis. */
+  Ecore_Animator *bounce_y_animator; /** an animator to express the 
bouncing animation on y axis. */
 
   Eina_Bool   bounce_x_hold : 1;
   Eina_Bool   bounce_y_hold : 1;

-- 




[EGIT] [core/elementary] master 04/05: layout: Add more description for layout's internal smart data members.

2015-06-25 Thread Daniel Juyung Seo
seoz pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=3c655aa5ae2c4361526cade434c726be41baea59

commit 3c655aa5ae2c4361526cade434c726be41baea59
Author: Daniel Juyung Seo seojuyu...@gmail.com
Date:   Fri Jun 19 13:01:46 2015 +0900

layout: Add more description for layout's internal smart data members.
---
 src/lib/elm_widget_layout.h | 21 +++--
 1 file changed, 11 insertions(+), 10 deletions(-)

diff --git a/src/lib/elm_widget_layout.h b/src/lib/elm_widget_layout.h
index 0e0871c..a8c5e17 100644
--- a/src/lib/elm_widget_layout.h
+++ b/src/lib/elm_widget_layout.h
@@ -72,19 +72,20 @@ struct _Elm_Layout_Part_Alias_Description
  */
 typedef struct _Elm_Layout_Smart_Data
 {
-   Evas_Object  *obj; /* The object itself */
-   Eina_List*subs; /** List of Elm_Layout_Sub_Object_Data 
structs, to hold the actual sub objects */
-   Eina_List*edje_signals;
-   Eina_List*parts_cursors;
-   const char   *klass, *group;
+   Evas_Object  *obj; /** The object itself */
+   Eina_List*subs; /** List of Elm_Layout_Sub_Object_Data 
structs, to hold the actual sub objects such as text, content and the children 
of box and table. */
+   Eina_List*edje_signals; /** The list of edje signal callbacks. 
*/
+   Eina_List*parts_cursors; /** The list of cursor names of 
layout parts. This is a list of Elm_Layout_Sub_Object_Cursor struct. */
+   const char   *klass; /** 1st identifier of an edje object group 
which is used in theme_set. klass and group are used together. */
+   const char   *group; /** 2nd identifier of an edje object group 
which is used in theme_set. klass and group are used together. */
int   frozen; /** Layout freeze counter */
 
-   Eina_Bool needs_size_calc : 1;
-   Eina_Bool restricted_calc_w : 1;
-   Eina_Bool restricted_calc_h : 1;
+   Eina_Bool needs_size_calc : 1; /** This flas is set true when 
the layout sizing eval is already requested. This defers sizing evaluation 
until smart calculation to avoid unnecessary calculation. */
+   Eina_Bool restricted_calc_w : 1; /** This is a flag to support 
edje restricted_calc in w axis. */
+   Eina_Bool restricted_calc_h : 1; /** This is a flag to support 
edje restricted_calc in y axis. */
Eina_Bool can_access : 1; /** This is true when all 
text(including textblock) parts can be accessible by accessibility. */
-   Eina_Bool destructed_is : 1; /** This flag indicates if 
Elm_Layout destructor was called */
-   Eina_Bool file_set : 1; /** This flag indicates if Elm_Layout 
source file is set */
+   Eina_Bool destructed_is : 1; /** This flag indicates if 
Elm_Layout destructor was called. This is needed to avoid unnecessary 
calculation of subobject deletion during layout object's deletion. */
+   Eina_Bool file_set : 1; /** This flag indicates if Elm_Layout 
source is set from a file*/
 } Elm_Layout_Smart_Data;
 
 /**

-- 




[EGIT] [core/elementary] master 05/05: test_focus_policy: Enhance object focus policy test.

2015-06-25 Thread Daniel Juyung Seo
seoz pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=538f3f992008b71662c1213293ba777425c69d63

commit 538f3f992008b71662c1213293ba777425c69d63
Author: Daniel Juyung Seo seojuyu...@gmail.com
Date:   Fri Jun 19 14:06:16 2015 +0900

test_focus_policy: Enhance object focus policy test.

- Add more descriptions in the test.
- Set the focus to the first button automatically.
---
 src/bin/test_focus_policy.c | 159 +++-
 1 file changed, 97 insertions(+), 62 deletions(-)

diff --git a/src/bin/test_focus_policy.c b/src/bin/test_focus_policy.c
index a54c007..66a4244 100644
--- a/src/bin/test_focus_policy.c
+++ b/src/bin/test_focus_policy.c
@@ -14,15 +14,15 @@ _rdg_changed_cb(void *data, Evas_Object *obj,
switch (value)
  {
   case 0:
-elm_object_text_set(bt, Test Button(MOUSE CLICK or KEY));
+elm_object_text_set(bt, Test Button (MOUSE CLICK or KEY));
 elm_object_focus_move_policy_set(bt, ELM_FOCUS_MOVE_POLICY_CLICK);
 break;
   case 1:
-elm_object_text_set(bt, Test Button(MOUSE IN or KEY));
+elm_object_text_set(bt, Test Button (MOUSE IN or KEY));
 elm_object_focus_move_policy_set(bt, ELM_FOCUS_MOVE_POLICY_IN);
 break;
   case 2:
-elm_object_text_set(bt, Test Button(KEY ONLY));
+elm_object_text_set(bt, Test Button (KEY ONLY));
 elm_object_focus_move_policy_set(bt, ELM_FOCUS_MOVE_POLICY_KEY_ONLY);
 break;
   default:
@@ -33,7 +33,7 @@ _rdg_changed_cb(void *data, Evas_Object *obj,
 void
 test_focus_object_policy(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, 
void *event_info EINA_UNUSED)
 {
-   Evas_Object *win, *fr, *bx, *bt, *test_bt, *rdg, *rd;
+   Evas_Object *win, *fr, *fr2, *bx, *fr_bx, *bt, *test_bt, *lbl, *rdg, *rd;
 
win = elm_win_util_standard_add(focus-object-policy, Focus Object 
Policy);
elm_win_autodel_set(win, EINA_TRUE);
@@ -51,64 +51,99 @@ test_focus_object_policy(void *data EINA_UNUSED, 
Evas_Object *obj EINA_UNUSED, v
elm_object_content_set(fr, bx);
evas_object_show(bx);
 
-   bt = elm_button_add(bx);
-   elm_object_text_set(bt, Button 1);
-   evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-   evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
-   elm_box_pack_end(bx, bt);
-   evas_object_show(bt);
-
-   bt = elm_button_add(bx);
-   elm_object_text_set(bt, Button 2);
-   evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-   evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
-   elm_box_pack_end(bx, bt);
-   evas_object_show(bt);
-
-   // a button to test focus object policy
-   test_bt = elm_button_add(bx);
-   elm_object_text_set(test_bt, Test Button(MOUSE CLICK or KEY));
-   evas_object_size_hint_weight_set(test_bt, EVAS_HINT_EXPAND, 
EVAS_HINT_EXPAND);
-   evas_object_size_hint_align_set(test_bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
-   elm_box_pack_end(bx, test_bt);
-   evas_object_show(test_bt);
-   elm_object_focus_move_policy_set(bt, ELM_FOCUS_MOVE_POLICY_CLICK);
-
-   bt = elm_button_add(bx);
-   elm_object_text_set(bt, Button 4);
-   evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-   evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
-   elm_box_pack_end(bx, bt);
-   evas_object_show(bt);
-
-   // radios to select focus object policy
-   rd = elm_radio_add(bx);
-   elm_radio_state_value_set(rd, 0);
-   evas_object_size_hint_align_set(rd, 0.0, 0.5);
-   elm_object_text_set(rd, Focus Move Pollicy Mouse Click);
-   elm_box_pack_end(bx, rd);
-   evas_object_show(rd);
-   evas_object_smart_callback_add(rd, changed, _rdg_changed_cb, test_bt);
-
-   rdg = rd;
-
-   rd = elm_radio_add(bx);
-   elm_radio_state_value_set(rd, 1);
-   elm_radio_group_add(rd, rdg);
-   evas_object_size_hint_align_set(rd, 0.0, 0.5);
-   elm_object_text_set(rd, Focus Move Policy Mouse In);
-   elm_box_pack_end(bx, rd);
-   evas_object_show(rd);
-   evas_object_smart_callback_add(rd, changed, _rdg_changed_cb, test_bt);
-
-   rd = elm_radio_add(bx);
-   elm_radio_state_value_set(rd, 2);
-   elm_radio_group_add(rd, rdg);
-   evas_object_size_hint_align_set(rd, 0.0, 0.5);
-   elm_object_text_set(rd, Focus Move Pollicy Key Only);
-   elm_box_pack_end(bx, rd);
-   evas_object_show(rd);
-   evas_object_smart_callback_add(rd, changed, _rdg_changed_cb, test_bt);
+   /* frame 1 for normal buttons */
+ {
+fr2 = elm_frame_add(bx);
+evas_object_size_hint_weight_set(fr2, EVAS_HINT_EXPAND, 0);
+evas_object_size_hint_align_set(fr2, EVAS_HINT_FILL, EVAS_HINT_FILL);
+elm_object_text_set(fr2, Focusable Buttons);
+elm_box_pack_end(bx, fr2);
+evas_object_show(fr2);
+
+fr_bx = elm_box_add(fr2);
+elm_object_content_set(fr2, fr_bx);
+evas_object_show(fr_bx);
+
+bt = elm_button_add(fr_bx);
+   

[EGIT] [core/elementary] master 01/05: elm: Remove shadow variable declarations.

2015-06-25 Thread Daniel Juyung Seo
seoz pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=5d5506032f82a3885de0113d6705153aa2e96ea0

commit 5d5506032f82a3885de0113d6705153aa2e96ea0
Author: Daniel Juyung Seo seojuyu...@gmail.com
Date:   Tue Jun 9 00:43:19 2015 +0900

elm: Remove shadow variable declarations.
---
 src/lib/elc_naviframe.c | 4 ++--
 src/lib/elm_helper.c| 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/lib/elc_naviframe.c b/src/lib/elc_naviframe.c
index ff18ee7..2b1c197 100644
--- a/src/lib/elc_naviframe.c
+++ b/src/lib/elc_naviframe.c
@@ -1377,10 +1377,10 @@ _elm_naviframe_evas_object_smart_add(Eo *obj, 
Elm_Naviframe_Data *priv)
 }
 
 static void
-_send_signal(Elm_Naviframe_Item_Data *it, const char *signal)
+_send_signal(Elm_Naviframe_Item_Data *it, const char *sig)
 {
if (!it) return ;
-   elm_object_signal_emit(VIEW(it), signal, elm);
+   elm_object_signal_emit(VIEW(it), sig, elm);
edje_object_message_signal_process(elm_layout_edje_get(VIEW(it)));
 }
 
diff --git a/src/lib/elm_helper.c b/src/lib/elm_helper.c
index 57a0423..a1aae3f 100644
--- a/src/lib/elm_helper.c
+++ b/src/lib/elm_helper.c
@@ -13,12 +13,12 @@ struct _Elm_Validator_Regexp
 };
 
 EAPI Elm_Validator_Regexp *
-elm_validator_regexp_new(const char *pattern, const char *signal)
+elm_validator_regexp_new(const char *pattern, const char *sig)
 {
Elm_Validator_Regexp *validator;
 
validator = calloc(1, sizeof(Elm_Validator_Regexp));
-   validator-signal = eina_stringshare_add(signal ? signal : default);
+   validator-signal = eina_stringshare_add(sig ? sig : default);
validator-status = regcomp(validator-regex, pattern, REG_EXTENDED | 
REG_NOSUB) ? ELM_REG_BADPAT : ELM_REG_NOERROR;
 
return validator;

-- 




[EGIT] [core/efl] master 01/01: Edje tests: Fix compilation warning

2015-06-25 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 8ba212c3b6264096dda8757fe72cd016d68d9137
Author: Jean-Philippe Andre jp.an...@samsung.com
Date:   Fri Jun 26 09:09:03 2015 +0900

Edje tests: Fix compilation warning

Thanks Stefan for the report.

I don't really like putting all those -DBLA_BETA or #define BLA_BETA
everywhere, though. Maybe the @beta flag is not required since the
EO APIs are still beta?

See: 04466193558ed23f4af3da4a5381aa75ea6e13e5
---
 src/tests/edje/edje_test_edje.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/tests/edje/edje_test_edje.c b/src/tests/edje/edje_test_edje.c
index 4c80b36..d68a5d9 100644
--- a/src/tests/edje/edje_test_edje.c
+++ b/src/tests/edje/edje_test_edje.c
@@ -5,6 +5,8 @@
 #include unistd.h
 #include stdio.h
 
+#define EFL_GFX_FILTER_BETA
+
 #include Eina.h
 #include Edje.h
 

-- 




[EGIT] [core/enlightenment] master 36/51: unused variable--

2015-06-25 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 05a0602f6e8156bfcdf6b569787cf44bb32620dc
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Thu Jun 25 19:20:30 2015 -0400

unused variable--
---
 src/bin/e_comp_wl.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 16d2106..d838248 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -69,7 +69,6 @@ _e_comp_wl_cb_prepare(void *data EINA_UNUSED, 
Ecore_Fd_Handler *hdlr EINA_UNUSED
 static Eina_Bool
 _e_comp_wl_cb_module_idle(void *data EINA_UNUSED)
 {
-   E_Module  *mod = NULL;
const char **m, *mods[] =
{
   wl_desktop_shell,

-- 




[EGIT] [core/enlightenment] master 35/51: set wl client surface pointer in surface create method

2015-06-25 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit d7c58215f466822ac4c8d581daf3f40321cae0bc
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Thu Jun 25 19:19:47 2015 -0400

set wl client surface pointer in surface create method

remnant from when clients were created by the shell
---
 src/bin/e_comp_wl.c   | 1 +
 src/modules/wl_desktop_shell/e_mod_main.c | 3 ---
 2 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 42888f3..16d2106 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -1486,6 +1486,7 @@ _e_comp_wl_compositor_cb_surface_create(struct wl_client 
*client, struct wl_reso
  e_comp-new_clients--;
  ec-client.w = ec-client.h = 1;
  ec-ignored = 1;
+ ec-comp_data-surface = res;
   }
  }
 
diff --git a/src/modules/wl_desktop_shell/e_mod_main.c 
b/src/modules/wl_desktop_shell/e_mod_main.c
index 43f03dd..0a23394 100644
--- a/src/modules/wl_desktop_shell/e_mod_main.c
+++ b/src/modules/wl_desktop_shell/e_mod_main.c
@@ -572,7 +572,6 @@ _e_shell_cb_shell_surface_get(struct wl_client *client, 
struct wl_resource *reso
   _e_shell_surface_interface,
   ec, _e_shell_surface_cb_destroy);
 
-   cdata-surface = surface_resource;
cdata-shell.configure_send = _e_shell_surface_configure_send;
cdata-shell.configure = _e_shell_surface_configure;
cdata-shell.ping = _e_shell_surface_ping;
@@ -1122,7 +1121,6 @@ _e_xdg_shell_cb_surface_get(struct wl_client *client, 
struct wl_resource *resour
   _e_xdg_surface_interface, ec,
   _e_shell_surface_cb_destroy);
 
-   cdata-surface = surface_resource;
cdata-shell.configure_send = _e_xdg_shell_surface_configure_send;
cdata-shell.configure = _e_xdg_shell_surface_configure;
cdata-shell.ping = _e_xdg_shell_surface_ping;
@@ -1210,7 +1208,6 @@ _e_xdg_shell_cb_popup_get(struct wl_client *client, 
struct wl_resource *resource
wl_resource_set_implementation(cdata-shell.surface,
   _e_xdg_popup_interface, ec, NULL);
 
-   cdata-surface = surface_resource;
cdata-shell.configure_send = _e_xdg_shell_surface_configure_send;
cdata-shell.configure = _e_xdg_shell_surface_configure;
cdata-shell.ping = _e_xdg_shell_surface_ping;

-- 




[EGIT] [core/enlightenment] master 21/51: load wl_desktop_shell and xwayland after wl comp load

2015-06-25 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit dbce3202166fb4b7e26b6aeb18e1fb956514a3aa
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Tue Apr 28 13:38:26 2015 -0400

load wl_desktop_shell and xwayland after wl comp load
---
 src/bin/e_comp_wl.c | 25 -
 1 file changed, 16 insertions(+), 9 deletions(-)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index b0c8dbd..6c0a4db 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -70,24 +70,31 @@ static Eina_Bool
 _e_comp_wl_cb_module_idle(void *data EINA_UNUSED)
 {
E_Module  *mod = NULL;
+   const char **m, *mods[] =
+   {
+  wl_desktop_shell,
+  xwayland,
+  NULL
+   };
 
/* check if we are still loading modules */
if (e_module_loading_get()) return ECORE_CALLBACK_RENEW;
 
-   if (!(mod = e_module_find(wl_desktop_shell)))
- mod = e_module_new(wl_desktop_shell);
-
-   if (mod)
+   for (m = mods; *m; m++)
  {
-e_module_enable(mod);
+E_Module *mod = e_module_find(*m);
 
-/* FIXME: NB:
- * Do we need to dispatch pending wl events here ?? */
+if (!mod)
+  mod = e_module_new(*m);
 
-return ECORE_CALLBACK_CANCEL;
+if (mod)
+  e_module_enable(mod);
  }
 
-   return ECORE_CALLBACK_RENEW;
+   /* FIXME: NB:
+* Do we need to dispatch pending wl events here ?? */
+
+   return ECORE_CALLBACK_CANCEL;
 }
 
 static void

-- 




[EGIT] [core/enlightenment] master 48/51: add hooking for WL_SURFACE_ID atom on XWayland windows and composite them

2015-06-25 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 2b38147c43270815ef71726d8700703968429d90
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Thu Jun 25 19:55:37 2015 -0400

add hooking for WL_SURFACE_ID atom on XWayland windows and composite them

in order to maximize the amount of reused code the following details the 
current
process for xwayland compositing:

* get map request from window
* force reparenting
* show window
* await WL_SURFACE_ID x11 message
* move x11 client data + pixmap onto corresponding wayland client
* business as usual with wayland compositing

this is pretty similar to the method of the reference code in weston,
except that there's no x11 compositor in weston
---
 src/bin/e_comp_wl.c |  21 --
 src/bin/e_comp_wl.h |  34 ++-
 src/bin/e_comp_x.c  | 119 +---
 src/bin/e_comp_x.h  |   8 +++-
 4 files changed, 161 insertions(+), 21 deletions(-)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 101e62b..6c77a1a 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -40,7 +40,7 @@ _e_comp_wl_focus_check(void)
 
if (stopping) return;
ec = e_client_focused_get();
-   if ((!ec) || (e_pixmap_type_get(ec-pixmap) != E_PIXMAP_TYPE_WL))
+   if ((!ec) || e_pixmap_is_x(ec-pixmap))
  e_grabinput_focus(e_comp-ee_win, E_FOCUS_METHOD_PASSIVE);
 }
 
@@ -1442,7 +1442,8 @@ static void
 _e_comp_wl_compositor_cb_surface_create(struct wl_client *client, struct 
wl_resource *resource, uint32_t id)
 {
struct wl_resource *res;
-   E_Client *ec = NULL;
+   E_Client *wc, *ec = NULL;
+   Eina_List *l;
pid_t pid;
 
DBG(Compositor Cb Surface Create: %d, id);
@@ -1491,7 +1492,15 @@ _e_comp_wl_compositor_cb_surface_create(struct wl_client 
*client, struct wl_reso
 
/* set reference to pixmap so we can fetch it later */
wl_resource_set_user_data(res, ec);
-
+#ifndef HAVE_WAYLAND_ONLY
+   EINA_LIST_FOREACH(e_comp-wl_comp_data-xwl_pending, l, wc)
+ {
+if (!e_pixmap_is_x(wc-pixmap)) continue;
+if (wl_resource_get_id(res) != 
((E_Comp_X_Client_Data*)ec-comp_data)-surface_id) continue;
+e_comp_x_xwayland_client_setup(wc, ec);
+break;
+ }
+#endif
/* emit surface create signal */
wl_signal_emit(e_comp-wl_comp_data-signals.surface.create, res);
 }
@@ -2964,3 +2973,9 @@ e_comp_wl_output_remove(const char *id)
 /* free(output); */
  }
 }
+
+EINTERN void
+e_comp_wl_xwayland_client_queue(E_Client *ec)
+{
+   e_comp-wl_comp_data-xwl_pending = 
eina_list_append(e_comp-wl_comp_data-xwl_pending, ec);
+}
diff --git a/src/bin/e_comp_wl.h b/src/bin/e_comp_wl.h
index c20aa24..f0bc175 100644
--- a/src/bin/e_comp_wl.h
+++ b/src/bin/e_comp_wl.h
@@ -1,5 +1,7 @@
 #ifdef E_TYPEDEFS
-
+#  ifndef HAVE_WAYLAND_ONLY
+#   include e_comp_x.h
+#  endif
 #else
 # ifndef E_COMP_WL_H
 #  define E_COMP_WL_H
@@ -13,6 +15,10 @@
 
 #  include xkbcommon/xkbcommon.h
 
+#  ifndef HAVE_WAYLAND_ONLY
+#   include e_comp_x.h
+#  endif
+
 /* #  ifdef HAVE_WAYLAND_EGL */
 /* #   include EGL/egl.h */
 /* #   define GL_GLEXT_PROTOTYPES */
@@ -211,6 +217,7 @@ struct _E_Comp_Wl_Data
Ecore_Idler *idler;
 
struct wl_client *xwl_client;
+   Eina_List *xwl_pending;
 
/* Eina_List *retry_clients; */
/* Ecore_Timer *retry_timer; */
@@ -254,6 +261,10 @@ struct _E_Comp_Wl_Client_Data
  {
 int32_t x, y;
  } popup;
+#ifndef HAVE_WAYLAND_ONLY
+   E_Pixmap *xwayland_pixmap;
+   E_Comp_X_Client_Data *xwayland_data;
+#endif
 
Eina_Bool keep_buffer : 1;
Eina_Bool mapped : 1;
@@ -294,6 +305,27 @@ E_API struct wl_signal 
e_comp_wl_surface_create_signal_get(void);
 E_API double e_comp_wl_idle_time_get(void);
 E_API Eina_Bool e_comp_wl_output_init(const char *id, const char *make, const 
char *model, int x, int y, int w, int h, int pw, int ph, unsigned int refresh, 
unsigned int subpixel, unsigned int transform);
 E_API void e_comp_wl_output_remove(const char *id);
+# ifndef HAVE_WAYLAND_ONLY
+EINTERN void e_comp_wl_xwayland_client_queue(E_Client *ec);
+static inline E_Comp_X_Client_Data *
+e_comp_wl_client_xwayland_data(const E_Client *ec)
+{
+   return ec-comp_data ? 
((E_Comp_Wl_Client_Data*)ec-comp_data)-xwayland_data : NULL;
+}
+
+static inline E_Pixmap *
+e_comp_wl_client_xwayland_pixmap(const E_Client *ec)
+{
+   return ((E_Comp_Wl_Client_Data*)ec-comp_data)-xwayland_pixmap;
+}
 
+static inline void
+e_comp_wl_client_xwayland_setup(E_Client *ec, E_Comp_X_Client_Data *cd, 
E_Pixmap *ep)
+{
+   ((E_Comp_Wl_Client_Data*)ec-comp_data)-xwayland_data = cd;
+   ((E_Comp_Wl_Client_Data*)ec-comp_data)-xwayland_pixmap = ep;
+   e_comp-wl_comp_data-xwl_pending = 
eina_list_remove(e_comp-wl_comp_data-xwl_pending, ec);
+}
+#  endif
 # endif
 #endif
diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c
index 

[EGIT] [core/enlightenment] master 13/51: xwayland: Add some debugging code while trying to work out failures with this

2015-06-25 Thread Christopher Michael
discomfitor pushed a commit to branch master.

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

commit 90f2d06ee09ec89caef3d048fec51a3c5fc91467
Author: Chris Michael cp.mich...@samsung.com
Date:   Tue Jul 15 13:54:55 2014 -0400

xwayland: Add some debugging code while trying to work out failures
with this

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/modules/xwayland/e_mod_main.c | 27 +++
 1 file changed, 19 insertions(+), 8 deletions(-)

diff --git a/src/modules/xwayland/e_mod_main.c 
b/src/modules/xwayland/e_mod_main.c
index dec6b88..a01458d 100644
--- a/src/modules/xwayland/e_mod_main.c
+++ b/src/modules/xwayland/e_mod_main.c
@@ -116,7 +116,11 @@ _abstract_socket_bind(int disp)
  }
 
/* try to listen on the bound socket */
-   if (listen(fd, 1)  0) goto err;
+   if (listen(fd, 1)  0) 
+ {
+ERR(Failed to listen to abstract fd: %d, fd);
+goto err;
+ }
 
return fd;
 
@@ -151,7 +155,11 @@ _unix_socket_bind(int disp)
  }
 
/* try to listen on the bound socket */
-   if (listen(fd, 1)  0) goto err;
+   if (listen(fd, 1)  0) 
+ {
+ERR(Failed to listen to unix fd: %d, fd);
+goto err;
+ }
 
return fd;
 
@@ -200,13 +208,13 @@ _cb_xserver_event(void *data EINA_UNUSED, 
Ecore_Fd_Handler *hdlr EINA_UNUSED)
 /* ignore usr1 and have X send it to the parent process */
 signal(SIGUSR1, SIG_IGN);
 
-/* FIXME: need to get the path of xwayland */
 snprintf(disp, sizeof(disp), :%d, exs-disp);
 
 snprintf(xserver, sizeof(xserver), %s, XWAYLAND_BIN);
-DBG(\tLaunching XWayland: %s, xserver);
+DBG(\tLaunching XWayland: %s: %s, xserver, disp);
 if (execl(xserver, xserver, disp, -rootless, -listen, abs_fd,
-  -listen, unx_fd, -wm, wm_fd, -terminate, NULL)  0)
+  -listen, unx_fd, -wm, wm_fd, -terminate, -shm, 
+  NULL)  0)
   {
  ERR(Failed to exec XWayland: %m);
   }
@@ -214,7 +222,6 @@ _cb_xserver_event(void *data EINA_UNUSED, Ecore_Fd_Handler 
*hdlr EINA_UNUSED)
 fail:
 _exit(EXIT_FAILURE);
 
-break;
   default:
 close(socks[1]);
 exs-client = wl_client_create(exs-wl_disp, socks[0]);
@@ -222,7 +229,10 @@ fail:
 close(wms[1]);
 exs-wm_fd = wms[0];
 
-/* TODO: remove event sources */
+if (exs-abs_hdlr)
+  ecore_main_fd_handler_del(exs-abs_hdlr);
+if (exs-unx_hdlr)
+  ecore_main_fd_handler_del(exs-unx_hdlr);
 break;
   case -1:
 ERR(Failed to fork: %m);
@@ -247,7 +257,7 @@ _cb_signal_event(void *data EINA_UNUSED, int type 
EINA_UNUSED, void *event EINA_
 * Weston creates a smaller window manager process here.
 * We Maybe able to just do e_comp_x_init, but will have to test that */
 
-   return ECORE_CALLBACK_RENEW;
+   return ECORE_CALLBACK_CANCEL;
 }
 
 /* module functions */
@@ -318,6 +328,7 @@ lock:
 
/* assemble x11 display name and set it */
snprintf(disp, sizeof(disp), :%d, exs-disp);
+   DBG(XWayland Listening on display: %s, disp);
setenv(DISPLAY, disp, 1);
 
/* setup ecore_fd handlers for abstract and unix socket fds */

-- 




[EGIT] [core/enlightenment] master 08/51: xwayland: Fix makefile to use xwayland binary path

2015-06-25 Thread Christopher Michael
discomfitor pushed a commit to branch master.

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

commit 3af3abf4525b743b62c6f6b91aac33b50592a686
Author: Chris Michael cp.mich...@samsung.com
Date:   Sun Jul 6 10:11:38 2014 -0400

xwayland: Fix makefile to use xwayland binary path

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/modules/Makefile_xwayland.mk | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/modules/Makefile_xwayland.mk b/src/modules/Makefile_xwayland.mk
index ec0e133..aa7abff 100644
--- a/src/modules/Makefile_xwayland.mk
+++ b/src/modules/Makefile_xwayland.mk
@@ -10,7 +10,10 @@ xwaylandpkgdir = $(MDIR)/xwayland/$(MODULE_ARCH)
 xwaylandpkg_LTLIBRARIES = src/modules/xwayland/module.la
 
 src_modules_xwayland_module_la_DEPENDENCIES = $(MDEPENDENCIES)
-src_modules_xwayland_module_la_CPPFLAGS  = $(MOD_CPPFLAGS) @XWAYLAND_CFLAGS@ 
@WAYLAND_CFLAGS@
+src_modules_xwayland_module_la_CPPFLAGS  = \
+  $(MOD_CPPFLAGS) @XWAYLAND_CFLAGS@ @WAYLAND_CFLAGS@ \
+  -DXWAYLAND_BIN=\@XWAYLAND_BIN@\
+
 src_modules_xwayland_module_la_LIBADD   = $(LIBS) @XWAYLAND_LIBS@ 
@WAYLAND_LIBS@
 src_modules_xwayland_module_la_LDFLAGS = $(MOD_LDFLAGS)
 

-- 




[EGIT] [core/enlightenment] master 40/51: set client visibility for shell-less wayland clients appropriately during commit

2015-06-25 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 412595dc606fe887bb738e5f00b8bf34cf55f05f
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Thu Jun 25 19:22:49 2015 -0400

set client visibility for shell-less wayland clients appropriately during 
commit
---
 src/bin/e_comp_wl.c | 4 
 1 file changed, 4 insertions(+)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index ac5d377..9d230b9 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -1121,6 +1121,7 @@ _e_comp_wl_surface_state_commit(E_Client *ec, 
E_Comp_Wl_Surface_State *state)
ec-comp_data-shell.unmap(ec-comp_data-shell.surface);
  else
{
+  ec-visible = EINA_FALSE;
   evas_object_hide(ec-frame);
   ec-comp_data-mapped = evas_object_visible_get(ec-frame);
}
@@ -1134,6 +1135,7 @@ _e_comp_wl_surface_state_commit(E_Client *ec, 
E_Comp_Wl_Surface_State *state)
ec-comp_data-shell.map(ec-comp_data-shell.surface);
  else
{
+  ec-visible = EINA_TRUE;
   evas_object_show(ec-frame);
   ec-comp_data-mapped = evas_object_visible_get(ec-frame);
}
@@ -2710,6 +2712,7 @@ e_comp_wl_surface_commit(E_Client *ec)
ec-comp_data-shell.unmap(ec-comp_data-shell.surface);
  else
{
+  ec-visible = EINA_FALSE;
   evas_object_hide(ec-frame);
   ec-comp_data-mapped = evas_object_visible_get(ec-frame);
}
@@ -2723,6 +2726,7 @@ e_comp_wl_surface_commit(E_Client *ec)
ec-comp_data-shell.map(ec-comp_data-shell.surface);
  else
{
+  ec-visible = EINA_TRUE;
   evas_object_show(ec-frame);
   ec-comp_data-mapped = evas_object_visible_get(ec-frame);
}

-- 




[EGIT] [core/enlightenment] master 30/51: simplify e build and add X headers for xwayland module

2015-06-25 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 9e104dfca113eff99ec1592810c2892a9a8ba430
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Thu Jun 25 18:55:00 2015 -0400

simplify e build and add X headers for xwayland module
---
 src/bin/Makefile.mk  | 5 -
 src/modules/Makefile_xwayland.mk | 1 +
 2 files changed, 1 insertion(+), 5 deletions(-)

diff --git a/src/bin/Makefile.mk b/src/bin/Makefile.mk
index 3917170..8fe0706 100644
--- a/src/bin/Makefile.mk
+++ b/src/bin/Makefile.mk
@@ -363,11 +363,6 @@ src/bin/e_comp_x.c \
 src/bin/e_comp_x_randr.c \
 src/bin/e_alert.c \
 src/bin/e_xsettings.c
-else
-if USE_MODULE_WL_X11
-enlightenment_src += \
-src/bin/e_comp_x_randr.c
-endif
 endif
 
 if HAVE_WAYLAND
diff --git a/src/modules/Makefile_xwayland.mk b/src/modules/Makefile_xwayland.mk
index 5afc15b..515bd5b 100644
--- a/src/modules/Makefile_xwayland.mk
+++ b/src/modules/Makefile_xwayland.mk
@@ -4,6 +4,7 @@ xwaylandpkg_LTLIBRARIES = src/modules/xwayland/module.la
 
 src_modules_xwayland_module_la_DEPENDENCIES = $(MDEPENDENCIES)
 src_modules_xwayland_module_la_CPPFLAGS  = \
+-DNEED_X \
 $(MOD_CPPFLAGS) \
 @XWAYLAND_CFLAGS@ \
 @WAYLAND_CFLAGS@ \

-- 




[EGIT] [core/enlightenment] master 44/51: correct e_comp-new_client count for overrides in x compositor

2015-06-25 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit d7c60da84f460754be8fab323b8403a2d1383603
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Thu Jun 25 19:29:24 2015 -0400

correct e_comp-new_client count for overrides in x compositor
---
 src/bin/e_comp_x.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c
index 97a9c1d..5027885 100644
--- a/src/bin/e_comp_x.c
+++ b/src/bin/e_comp_x.c
@@ -210,6 +210,8 @@ _e_comp_x_client_new_helper(E_Client *ec)
 ec-take_focus = !starting;
  }
ec-new_client ^= ec-override;
+   if (!ec-new_client)
+ e_comp-new_clients--;
 
ec-w = ec-client.w = ec-comp_data-initial_attributes.w;
ec-h = ec-client.h = ec-comp_data-initial_attributes.h;

-- 




[EGIT] [core/enlightenment] master 11/51: Whitelist the new xwayland module

2015-06-25 Thread Christopher Michael
discomfitor pushed a commit to branch master.

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

commit d79c5657f914011c1a3a128113d97a08e30a7cab
Author: Chris Michael cp.mich...@samsung.com
Date:   Tue Jul 15 09:50:07 2014 -0400

Whitelist the new xwayland module

Signed-off-by: Chris Michael cp.mich...@samsung.com

Conflicts:
src/bin/e_module.c
---
 src/bin/e_module.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/bin/e_module.c b/src/bin/e_module.c
index cc8527e..04b307c 100644
--- a/src/bin/e_module.c
+++ b/src/bin/e_module.c
@@ -948,6 +948,7 @@ _e_module_whitelist_check(void)
   packagekit,
   policy_mobile,
   geolocation,
+  xwayland,
   NULL   // end marker
};
 

-- 




[EGIT] [core/enlightenment] master 10/51: xwayland: Create the wl_client which represents the window manager process.

2015-06-25 Thread Christopher Michael
discomfitor pushed a commit to branch master.

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

commit 0885237671b1e38029014b252ce70934ab921d93
Author: Chris Michael cp.mich...@samsung.com
Date:   Sun Jul 6 10:51:01 2014 -0400

xwayland: Create the wl_client which represents the window manager
process.

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/modules/xwayland/e_mod_main.c | 22 +++---
 1 file changed, 15 insertions(+), 7 deletions(-)

diff --git a/src/modules/xwayland/e_mod_main.c 
b/src/modules/xwayland/e_mod_main.c
index fe8b64e..5ff6d55 100644
--- a/src/modules/xwayland/e_mod_main.c
+++ b/src/modules/xwayland/e_mod_main.c
@@ -8,10 +8,12 @@ typedef struct _E_XWayland_Server E_XWayland_Server;
 struct _E_XWayland_Server
 {
int disp;
-   int abs_fd, unx_fd;
+   int abs_fd, unx_fd, wm_fd;
char lock[256];
 
+   struct wl_display *wl_disp;
struct wl_event_loop *loop;
+   struct wl_client *client;
 
Ecore_Fd_Handler *abs_hdlr, *unx_hdlr;
Ecore_Event_Handler *sig_hdlr;
@@ -214,9 +216,11 @@ fail:
 break;
   default:
 close(socks[1]);
-/* TODO: client_create */
+exs-client = wl_client_create(exs-disp, socks[0]);
+
 close(wms[1]);
-/* TODO */
+exs-wm_fd = wms[0];
+
 /* TODO: remove event sources */
 break;
   case -1:
@@ -230,15 +234,16 @@ fail:
 static Eina_Bool 
 _cb_signal_event(void *data EINA_UNUSED, int type EINA_UNUSED, void *event 
EINA_UNUSED)
 {
-   /* E_XWayland_Server *exs; */
-
/* NB: SIGUSR1 comes from XWayland Server when it has finished 
 * initialized. */
 
-   /* if (!(exs = data)) return ECORE_CALLBACK_RENEW; */
-
/* TODO: create window manager process */
 
+   /* TODO: NB: 
+* 
+* Weston creates a smaller window manager process here.
+* We Maybe able to just do e_comp_x_init, but will have to test that */
+
return ECORE_CALLBACK_RENEW;
 }
 
@@ -261,6 +266,9 @@ e_modapi_init(E_Module *m)
if (!(exs = calloc(1, sizeof(E_XWayland_Server
  return NULL;
 
+   /* record wayland display */
+   exs-wl_disp = comp-wl_comp_data-wl.disp;
+
/* default display to zero */
exs-disp = 0;
 

-- 




[EGIT] [core/enlightenment] master 15/51: xwayland: Check for sigusr1 in event handler

2015-06-25 Thread Christopher Michael
discomfitor pushed a commit to branch master.

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

commit 8f09e55b45a4fb4bdf718c8ef6fd61a4cb4dd754
Author: Chris Michael cp.mich...@samsung.com
Date:   Fri Sep 5 15:00:00 2014 -0400

xwayland: Check for sigusr1 in event handler

XWayland servers sends us SIGUSR1 when it has finished initializing,
so we should be checking the signal number when we get the event.

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/modules/xwayland/e_mod_main.c | 7 ++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/modules/xwayland/e_mod_main.c 
b/src/modules/xwayland/e_mod_main.c
index a6dc8bf..f1f6144 100644
--- a/src/modules/xwayland/e_mod_main.c
+++ b/src/modules/xwayland/e_mod_main.c
@@ -243,8 +243,13 @@ fail:
 }
 
 static Eina_Bool 
-_cb_signal_event(void *data EINA_UNUSED, int type EINA_UNUSED, void *event 
EINA_UNUSED)
+_cb_signal_event(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
 {
+   Ecore_Event_Signal_User *ev;
+
+   ev = event;
+   if (ev-number != 1) return ECORE_CALLBACK_RENEW;
+
/* NB: SIGUSR1 comes from XWayland Server when it has finished 
 * initialized. */
 

-- 




[EGIT] [core/enlightenment] master 27/51: remove wayland-clients configure option

2015-06-25 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 64b98b712e1e79ebfba08df0b87379aa559aa401
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Thu Jun 25 18:52:04 2015 -0400

remove wayland-clients configure option

this has been dead for a long time and is no longer necessary since
xwayland support exists
---
 configure.ac | 21 -
 1 file changed, 4 insertions(+), 17 deletions(-)

diff --git a/configure.ac b/configure.ac
index e685b02..5fa7ae6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -779,14 +779,6 @@ define([CHECK_MODULE_BLUEZ4],
 AC_SUBST([EBLUEZ4_CFLAGS])
 AC_SUBST([EBLUEZ4_LIBS])
 
-have_wayland_clients=no
-AC_ARG_ENABLE([wayland-clients],
-  AS_HELP_STRING([--enable-wayland-clients],[enable wayland clients in 
composite module @:@default=disabled@:@]),
-  [e_cv_want_wayland_clients=$enableval],
-  [e_cv_want_wayland_clients=no])
-AC_MSG_CHECKING([whether wayland client support is enabled])
-AC_MSG_RESULT([${e_cv_want_wayland_clients}])
-
 have_wayland_egl=no
 AC_ARG_ENABLE([wayland-egl],
   AS_HELP_STRING([--enable-wayland-egl],[enable wayland to render using EGL 
@:@default=disabled@:@]),
@@ -795,7 +787,7 @@ AC_ARG_ENABLE([wayland-egl],
 AC_MSG_CHECKING([whether wayland EGL support is enabled])
 AC_MSG_RESULT([${e_cv_want_wayland_egl}])
 
-if test x${e_cv_want_wayland_only} != xno || test 
x${e_cv_want_wayland_clients} != xno;then
+if test x${e_cv_want_wayland_only} != xno ;then
   PKG_CHECK_MODULES([WAYLAND], [ecore-wayland wayland-server = 1.8.0 
xkbcommon uuid],
 [
   have_wayland=yes
@@ -806,10 +798,6 @@ else
 fi
 
 if test x${have_wayland} = xyes; then
-  if test x${e_cv_want_wayland_clients} != xno; then
-have_wayland_clients=yes
-AC_DEFINE_UNQUOTED([HAVE_WAYLAND_CLIENTS],[1],[enable wayland clients in 
composite module])
-  fi
   if test x${e_cv_want_wayland_egl} != xno;then
 PKG_CHECK_MODULES([WAYLAND_EGL], [egl = 7.10],
   [
@@ -828,7 +816,6 @@ fi
 
 AM_CONDITIONAL([HAVE_WAYLAND], [test x${have_wayland} = xyes])
 AM_CONDITIONAL([HAVE_WAYLAND_ONLY], [test x${have_wayland_only} = xyes])
-AM_CONDITIONAL([HAVE_WAYLAND_CLIENTS], [test x${have_wayland_clients} = 
xyes])
 AM_CONDITIONAL([HAVE_WAYLAND_EGL], [test x${have_wayland_egl} = xyes])
 
 if test x${have_wayland_only} != xyes; then
@@ -847,7 +834,7 @@ define([CHECK_MODULE_WL_X11],
   if test x${have_wayland_only} = xyes ; then
 PKG_CHECK_MODULES([ECORE_X], [ecore-x = ${efl_version}])
   fi
-  if test x${have_wayland_clients} = xyes || test x${have_wayland_only} 
= xyes; then
+  if test x${have_wayland_only} = xyes; then
 AC_E_CHECK_PKG(WL_X11, [ ecore-x = $efl_version ], [WL_X11=true], 
[WL_X11=false])
   else
 WL_X11=false
@@ -857,7 +844,7 @@ AM_CONDITIONAL([HAVE_WL_X11], [test x${WL_X11} = xtrue])
 
 define([CHECK_MODULE_WL_DESKTOP_SHELL],
 [
-  if test x${have_wayland_clients} = xyes || test 
x${e_cv_want_wayland_only} = xyes; then
+  if test x${e_cv_want_wayland_only} = xyes; then
 AC_E_CHECK_PKG(WL_DESKTOP_SHELL, [ ecore = $efl_version eina = 
$efl_version ], [WL_DESKTOP_SHELL=true], [WL_DESKTOP_SHELL=false])
   else
 WL_DESKTOP_SHELL=false
@@ -867,7 +854,7 @@ AM_CONDITIONAL([HAVE_WL_DESKTOP_SHELL], [test 
x${WL_DESKTOP_SHELL} = xtrue])
 
 define([CHECK_MODULE_WL_FB],
 [
-  if test x${have_wayland_clients} = xyes; then
+  if test x${e_cv_want_wayland_only} = xyes; then
 AC_E_CHECK_PKG(WL_FB, [ ecore-fb = $efl_version ecore = $efl_version 
eina = $efl_version ], [WL_FB=true], [WL_FB=false])
   else
 WL_FB=false

-- 




[EGIT] [core/enlightenment] master 51/51: set shm engine for wl internal windows

2015-06-25 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 2bf57d79afca8fd98b1ec339bcc5b75152d35c4d
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Thu Jun 25 20:04:01 2015 -0400

set shm engine for wl internal windows

this seems to be necessary for now to prevent crashing
---
 src/bin/e_comp_wl.c | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 6c77a1a..9e5ca54 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -2607,8 +2607,11 @@ e_comp_wl_init(void)
 
/* add event handlers to catch E events */
if (e_comp-comp_type != E_PIXMAP_TYPE_X)
- if (e_randr2_init())
-   e_randr2_screens_setup(-1, -1);
+ {
+if (e_randr2_init())
+  e_randr2_screens_setup(-1, -1);
+elm_config_preferred_engine_set(wayland_shm);
+ }
 
E_LIST_HANDLER_APPEND(handlers, E_EVENT_RANDR_CHANGE,
 _e_comp_wl_cb_randr_change, NULL);

-- 




[EGIT] [core/enlightenment] master 12/51: xwayland: Fix launching of XWayland server and pass proper display to wl_client_create

2015-06-25 Thread Christopher Michael
discomfitor pushed a commit to branch master.

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

commit eb4df84aa5a9e22f410b5e08e167fe724bc1a113
Author: Chris Michael cp.mich...@samsung.com
Date:   Tue Jul 15 10:58:48 2014 -0400

xwayland: Fix launching of XWayland server and pass proper display to
wl_client_create

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/modules/xwayland/e_mod_main.c | 13 +
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/src/modules/xwayland/e_mod_main.c 
b/src/modules/xwayland/e_mod_main.c
index 5ff6d55..dec6b88 100644
--- a/src/modules/xwayland/e_mod_main.c
+++ b/src/modules/xwayland/e_mod_main.c
@@ -164,7 +164,7 @@ static Eina_Bool
 _cb_xserver_event(void *data EINA_UNUSED, Ecore_Fd_Handler *hdlr EINA_UNUSED)
 {
int socks[2], wms[2], fd;
-   char disp[8], s[8], *xserver = NULL;
+   char disp[8], s[8], xserver[PATH_MAX];
char abs_fd[8], unx_fd[8], wm_fd[8];
 
if (socketpair(AF_UNIX, (SOCK_STREAM | SOCK_CLOEXEC), 0, socks)  0)
@@ -200,10 +200,11 @@ _cb_xserver_event(void *data EINA_UNUSED, 
Ecore_Fd_Handler *hdlr EINA_UNUSED)
 /* ignore usr1 and have X send it to the parent process */
 signal(SIGUSR1, SIG_IGN);
 
-/* FIXME: need to get the patch of xwayland */
+/* FIXME: need to get the path of xwayland */
 snprintf(disp, sizeof(disp), :%d, exs-disp);
 
-DBG(XWAYLAND: %s, XWAYLAND_BIN);
+snprintf(xserver, sizeof(xserver), %s, XWAYLAND_BIN);
+DBG(\tLaunching XWayland: %s, xserver);
 if (execl(xserver, xserver, disp, -rootless, -listen, abs_fd,
   -listen, unx_fd, -wm, wm_fd, -terminate, NULL)  0)
   {
@@ -216,7 +217,7 @@ fail:
 break;
   default:
 close(socks[1]);
-exs-client = wl_client_create(exs-disp, socks[0]);
+exs-client = wl_client_create(exs-wl_disp, socks[0]);
 
 close(wms[1]);
 exs-wm_fd = wms[0];
@@ -237,6 +238,8 @@ _cb_signal_event(void *data EINA_UNUSED, int type 
EINA_UNUSED, void *event EINA_
/* NB: SIGUSR1 comes from XWayland Server when it has finished 
 * initialized. */
 
+   DBG(XWayland Finished Init);
+
/* TODO: create window manager process */
 
/* TODO: NB: 
@@ -256,6 +259,8 @@ e_modapi_init(E_Module *m)
E_Comp *comp;
char disp[8];
 
+   DBG(LOAD XWAYLAND MODULE);
+
/* try to get the running compositor */
if (!(comp = e_comp_get(NULL))) return NULL;
 

-- 




[EGIT] [core/enlightenment] master 39/51: reject ignored clients from being processed in client idler

2015-06-25 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 179118a70c4f99ed35a6e650c551b6c4a3e9174d
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Thu Jun 25 19:21:49 2015 -0400

reject ignored clients from being processed in client idler
---
 src/bin/e_client.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/bin/e_client.c b/src/bin/e_client.c
index 55b1eb0..b578ff0 100644
--- a/src/bin/e_client.c
+++ b/src/bin/e_client.c
@@ -2322,7 +2322,7 @@ e_client_idler_before(void)
 Eina_Stringshare *title;
 // pass 1 - eval0. fetch properties on new or on change and
 // call hooks to decide what to do - maybe move/resize
-if (!ec-changed) continue;
+if (ec-ignored || (!ec-changed)) continue;
 
 if (!_e_client_hook_call(E_CLIENT_HOOK_EVAL_PRE_FETCH, ec)) continue;
 /* FETCH is hooked by the compositor to get client hints */
@@ -2345,6 +2345,7 @@ e_client_idler_before(void)
 
E_CLIENT_FOREACH(ec)
  {
+if (ec-ignored) continue;
 // pass 2 - show windows needing show
 if ((ec-changes.visible)  (ec-visible) 
 (!ec-new_client)  (!ec-changes.pos) 
@@ -2370,7 +2371,7 @@ e_client_idler_before(void)
// pass 3 - hide windows needing hide and eval (main eval)
E_CLIENT_FOREACH(ec)
  {
-if (e_object_is_del(E_OBJECT(ec))) continue;
+if (ec-ignored || e_object_is_del(E_OBJECT(ec))) continue;
 
 if ((ec-changes.visible)  (!ec-visible))
   {

-- 




[EGIT] [core/enlightenment] master 41/51: comment out grabinput focus calls in wayland compositor

2015-06-25 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 5b63ce91dc42275be049a95bd827891a052f2a0f
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Thu Jun 25 19:23:35 2015 -0400

comment out grabinput focus calls in wayland compositor

these did nothing, remove for now
---
 src/bin/e_comp_wl.c | 16 
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 9d230b9..971c4a9 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -2257,14 +2257,14 @@ _e_comp_wl_client_cb_focus_set(void *data EINA_UNUSED, 
E_Client *ec)
   0, 0, 0);
  }
 
-   if ((ec-icccm.take_focus)  (ec-icccm.accepts_focus))
- e_grabinput_focus(e_client_util_win_get(ec),
-   E_FOCUS_METHOD_LOCALLY_ACTIVE);
-   else if (!ec-icccm.accepts_focus)
- e_grabinput_focus(e_client_util_win_get(ec),
-   E_FOCUS_METHOD_GLOBALLY_ACTIVE);
-   else if (!ec-icccm.take_focus)
- e_grabinput_focus(e_client_util_win_get(ec), E_FOCUS_METHOD_PASSIVE);
+   //if ((ec-icccm.take_focus)  (ec-icccm.accepts_focus))
+ //e_grabinput_focus(e_client_util_win_get(ec),
+   //E_FOCUS_METHOD_LOCALLY_ACTIVE);
+   //else if (!ec-icccm.accepts_focus)
+ //e_grabinput_focus(e_client_util_win_get(ec),
+   //E_FOCUS_METHOD_GLOBALLY_ACTIVE);
+   //else if (!ec-icccm.take_focus)
+ //e_grabinput_focus(e_client_util_win_get(ec), E_FOCUS_METHOD_PASSIVE);
 
if (e_comp-wl_comp_data-kbd.focus != ec-comp_data-surface)
  {

-- 




[EGIT] [core/enlightenment] master 31/51: redo wayland-only configure option and define

2015-06-25 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 6f46020e5d0fff722f43deb5bb821f04f48035d8
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Thu Jun 25 18:58:41 2015 -0400

redo wayland-only configure option and define

HAVE_WAYLAND_ONLY is now only set when there is only wayland. this means 
there
is no x11 support. zero. no x compositor. no xwayland. no x11 output module.
---
 configure.ac | 34 --
 1 file changed, 20 insertions(+), 14 deletions(-)

diff --git a/configure.ac b/configure.ac
index 5fa7ae6..c9e24d2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -532,17 +532,6 @@ PKG_CHECK_MODULES(E_SYS, [
   ecore = ${efl_version}
 ])
 
-if test x${e_cv_want_wayland_only} != xyes; then
-  PKG_CHECK_MODULES(E_ALERT, [
-xcb
-xcb-shape
-xcb-keysyms
-eina = ${efl_version}
-ecore = ${efl_version}
-ecore-ipc = ${efl_version}
-  ])
-fi
-
 e_requires=\
   evas = $efl_version \
   ecore = $efl_version \
@@ -810,12 +799,10 @@ if test x${have_wayland} = xyes; then
   fi
   if test x${e_cv_want_wayland_only} != xno; then
 have_wayland_only=yes
-AC_DEFINE_UNQUOTED([HAVE_WAYLAND_ONLY],[1],[enable wayland-only version of 
enlightenment])
   fi
 fi
 
 AM_CONDITIONAL([HAVE_WAYLAND], [test x${have_wayland} = xyes])
-AM_CONDITIONAL([HAVE_WAYLAND_ONLY], [test x${have_wayland_only} = xyes])
 AM_CONDITIONAL([HAVE_WAYLAND_EGL], [test x${have_wayland_egl} = xyes])
 
 if test x${have_wayland_only} != xyes; then
@@ -835,7 +822,7 @@ define([CHECK_MODULE_WL_X11],
 PKG_CHECK_MODULES([ECORE_X], [ecore-x = ${efl_version}])
   fi
   if test x${have_wayland_only} = xyes; then
-AC_E_CHECK_PKG(WL_X11, [ ecore-x = $efl_version ], [WL_X11=true], 
[WL_X11=false])
+AC_E_CHECK_PKG(WL_X11, [ ecore-x = ${efl_version} ], [WL_X11=true], 
[WL_X11=false])
   else
 WL_X11=false
   fi
@@ -883,6 +870,25 @@ define([CHECK_MODULE_XWAYLAND],
 ])
 AM_CONDITIONAL([HAVE_XWAYLAND], [test x${XWAYLAND_BIN} != xfalse])
 
+if test x${WL_X11} = xfalse  test x${have_wayland} = xyes  test 
x${HAVE_XWAYLAND_DEPS} = xfalse; then
+  AC_DEFINE_UNQUOTED([HAVE_WAYLAND_ONLY],[1],[enable wayland-only version of 
enlightenment])
+else
+  have_wayland_only=no
+fi
+AM_CONDITIONAL([HAVE_WAYLAND_ONLY], [test x${have_wayland_only} = xyes])
+
+if test x${have_wayland_only} != xyes; then
+  PKG_CHECK_MODULES(E_ALERT, [
+xcb
+xcb-shape
+xcb-keysyms
+eina = ${efl_version}
+ecore = ${efl_version}
+ecore-ipc = ${efl_version}
+  ])
+fi
+
+
 AC_E_OPTIONAL_MODULE([ibar], true)
 AC_E_OPTIONAL_MODULE([clock], true)
 AC_E_OPTIONAL_MODULE([pager], true)

-- 




[EGIT] [core/enlightenment] master 47/51: fix grabinput to work better with multiple compositor backends

2015-06-25 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit c8bdacc727e7a437ae51d068dc066c8158469946
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Thu Jun 25 19:41:04 2015 -0400

fix grabinput to work better with multiple compositor backends

check root window to determine existence of X11 compositor,
use both wayland and non-wayland define codepaths where available
---
 src/bin/e_grabinput.c | 52 ---
 1 file changed, 33 insertions(+), 19 deletions(-)

diff --git a/src/bin/e_grabinput.c b/src/bin/e_grabinput.c
index de78c09..a0ca5a8 100644
--- a/src/bin/e_grabinput.c
+++ b/src/bin/e_grabinput.c
@@ -39,7 +39,7 @@ e_grabinput_get(Ecore_Window mouse_win, int confine_mouse, 
Ecore_Window key_win)
if (grab_mouse_win)
  {
 #ifndef HAVE_WAYLAND_ONLY
-if (e_comp-comp_type == E_PIXMAP_TYPE_X)
+if (e_comp-root)
   ecore_x_pointer_ungrab();
 #else
 if (e_comp-comp_type == E_PIXMAP_TYPE_WL)
@@ -50,7 +50,7 @@ e_grabinput_get(Ecore_Window mouse_win, int confine_mouse, 
Ecore_Window key_win)
if (grab_key_win)
  {
 #ifndef HAVE_WAYLAND_ONLY
-if (e_comp-comp_type == E_PIXMAP_TYPE_X)
+if (e_comp-root)
   ecore_x_keyboard_ungrab();
 #else
 if (e_comp-comp_type == E_PIXMAP_TYPE_WL)
@@ -63,7 +63,7 @@ e_grabinput_get(Ecore_Window mouse_win, int confine_mouse, 
Ecore_Window key_win)
if (mouse_win)
  {
 #ifndef HAVE_WAYLAND_ONLY
-if (e_comp-comp_type == E_PIXMAP_TYPE_X)
+if (e_comp-root)
   {
  int ret = 0;
  if (confine_mouse)
@@ -86,7 +86,7 @@ e_grabinput_get(Ecore_Window mouse_win, int confine_mouse, 
Ecore_Window key_win)
if (key_win)
  {
 #ifndef HAVE_WAYLAND_ONLY
-if (e_comp-comp_type == E_PIXMAP_TYPE_X)
+if (e_comp-root)
   {
  int ret = 0;
 
@@ -124,7 +124,7 @@ e_grabinput_release(Ecore_Window mouse_win, Ecore_Window 
key_win)
if (mouse_win == grab_mouse_win)
  {
 #ifndef HAVE_WAYLAND_ONLY
-if (e_comp-comp_type == E_PIXMAP_TYPE_X)
+if (e_comp-root)
   ecore_x_pointer_ungrab();
 #else
 if (e_comp-comp_type == E_PIXMAP_TYPE_WL)
@@ -136,7 +136,7 @@ e_grabinput_release(Ecore_Window mouse_win, Ecore_Window 
key_win)
if (key_win == grab_key_win)
  {
 #ifndef HAVE_WAYLAND_ONLY
-if (e_comp-comp_type == E_PIXMAP_TYPE_X)
+if (e_comp-root)
   ecore_x_keyboard_ungrab();
 #else
 if (e_comp-comp_type == E_PIXMAP_TYPE_WL)
@@ -211,7 +211,7 @@ _e_grabinput_focus_check(void *data EINA_UNUSED)
 static void
 _e_grabinput_focus_do(Ecore_Window win, E_Focus_Method method)
 {
-#ifdef HAVE_WAYLAND_ONLY
+#ifdef HAVE_WAYLAND
Ecore_Wl_Window *wl_win;
 #endif
 
@@ -223,34 +223,49 @@ _e_grabinput_focus_do(Ecore_Window win, E_Focus_Method 
method)
 
   case E_FOCUS_METHOD_LOCALLY_ACTIVE:
 #ifndef HAVE_WAYLAND_ONLY
-ecore_x_window_focus_at_time(win, ecore_x_current_time_get());
-ecore_x_icccm_take_focus_send(win, ecore_x_current_time_get());
-#else
-if ((wl_win = ecore_wl_window_find(win)))
+if (e_comp-root)
   {
- /* FIXME: Need to add an ecore_wl_window_focus function */
+ ecore_x_window_focus_at_time(win, ecore_x_current_time_get());
+ ecore_x_icccm_take_focus_send(win, ecore_x_current_time_get());
+  }
+#endif
+#ifdef HAVE_WAYLAND
+if (e_comp-comp_type == E_PIXMAP_TYPE_WL)
+  {
+ if ((wl_win = ecore_wl_window_find(win)))
+   {
+  /* FIXME: Need to add an ecore_wl_window_focus function */
+   }
   }
 #endif
 break;
 
   case E_FOCUS_METHOD_GLOBALLY_ACTIVE:
 #ifndef HAVE_WAYLAND_ONLY
-ecore_x_icccm_take_focus_send(win, ecore_x_current_time_get());
+if (e_comp-root)
+  ecore_x_icccm_take_focus_send(win, ecore_x_current_time_get());
 #else
-if ((wl_win = ecore_wl_window_find(win)))
+if (e_comp-comp_type == E_PIXMAP_TYPE_WL)
   {
- /* FIXME: Need to add an ecore_wl_window_focus function */
+ if ((wl_win = ecore_wl_window_find(win)))
+   {
+  /* FIXME: Need to add an ecore_wl_window_focus function */
+   }
   }
 #endif
 break;
 
   case E_FOCUS_METHOD_PASSIVE:
 #ifndef HAVE_WAYLAND_ONLY
-ecore_x_window_focus_at_time(win, ecore_x_current_time_get());
+if (e_comp-root)
+  ecore_x_window_focus_at_time(win, ecore_x_current_time_get());
 #else
-if ((wl_win = ecore_wl_window_find(win)))
+if (e_comp-comp_type == E_PIXMAP_TYPE_WL)
   {
- /* FIXME: Need to add an ecore_wl_window_focus function */
+ if ((wl_win = ecore_wl_window_find(win)))
+   {
+   

[EGIT] [core/enlightenment] master 43/51: move X idle flusher to comp_x

2015-06-25 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 2654b7e3e79197bd31cd21c87406c19ae5d969bb
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Thu Jun 25 19:28:38 2015 -0400

move X idle flusher to comp_x
---
 src/bin/e_comp_x.c |  9 +
 src/bin/e_main.c   | 20 +---
 2 files changed, 10 insertions(+), 19 deletions(-)

diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c
index caa264e..97a9c1d 100644
--- a/src/bin/e_comp_x.c
+++ b/src/bin/e_comp_x.c
@@ -43,6 +43,7 @@ static Eina_Hash *frame_extents = NULL;
 static Eina_Hash *alarm_hash = NULL;
 
 static Ecore_Idle_Enterer *_e_comp_x_post_client_idler = NULL;
+static Ecore_Idle_Enterer *_x_idle_flush = NULL;
 static Eina_List *post_clients = NULL;
 
 static int _e_comp_x_mapping_change_disabled = 0;
@@ -56,6 +57,13 @@ static Eina_Bool screensaver_dimmed = EINA_FALSE;
 static Ecore_X_Atom backlight_atom = 0;
 extern double e_bl_val;
 
+static Eina_Bool
+_e_comp_x_flusher(void *data EINA_UNUSED)
+{
+   ecore_x_flush();
+   return ECORE_CALLBACK_RENEW;
+}
+
 static inline Ecore_X_Window
 _e_comp_x_client_window_get(const E_Client *ec)
 {
@@ -5127,6 +5135,7 @@ e_comp_x_init(void)
E_LIST_HANDLER_APPEND(handlers, E_EVENT_RANDR_CHANGE, 
_e_comp_x_randr_change, NULL);
 
ecore_x_sync();
+   _x_idle_flush = ecore_idle_enterer_add(_e_comp_x_flusher, NULL);
 
return EINA_TRUE;
 }
diff --git a/src/bin/e_main.c b/src/bin/e_main.c
index 8812d02..4575499 100644
--- a/src/bin/e_main.c
+++ b/src/bin/e_main.c
@@ -84,7 +84,6 @@ static void  _e_main_desk_save(void);
 static void  _e_main_desk_restore(void);
 static void  _e_main_efreet_paths_init(void);
 static void  _e_main_modules_load(Eina_Bool safe_mode);
-static Eina_Bool _e_main_cb_x_flusher(void *data EINA_UNUSED);
 static Eina_Bool _e_main_cb_idle_before(void *data EINA_UNUSED);
 static Eina_Bool _e_main_cb_idle_after(void *data EINA_UNUSED);
 static Eina_Bool _e_main_cb_startup_fake_end(void *data EINA_UNUSED);
@@ -100,7 +99,6 @@ static int(*_e_main_shutdown_func[MAX_LEVEL]) (void);
 
 static Ecore_Idle_Enterer *_idle_before = NULL;
 static Ecore_Idle_Enterer *_idle_after = NULL;
-static Ecore_Idle_Enterer *_idle_flush = NULL;
 
 static Ecore_Event_Handler *mod_init_end = NULL;
 
@@ -977,10 +975,6 @@ main(int argc, char **argv)
TS(E_Order Init Done);
_e_main_shutdown_push(e_order_shutdown);
 
-   TS(Add Idler For X Flush);
-   _idle_flush = ecore_idle_enterer_add(_e_main_cb_x_flusher, NULL);
-   TS(Add Idler For X Flush Done);
-
TS(E_Comp_Canvas Keys Grab);
e_comp_canvas_keys_grab();
TS(E_Comp_Canvas Keys Grab Done);
@@ -1090,8 +1084,6 @@ _e_main_shutdown(int errcode)
_idle_before = NULL;
if (_idle_after) ecore_idle_enterer_del(_idle_after);
_idle_after = NULL;
-   if (_idle_flush) ecore_idle_enterer_del(_idle_flush);
-   _idle_flush = NULL;
 
dir = getenv(XDG_RUNTIME_DIR);
if (dir)
@@ -1743,6 +1735,7 @@ _e_main_cb_idle_after(void *data EINA_UNUSED)
 {
static int first_idle = 1;
 
+   eet_clearcache();
edje_freeze();
 
 #ifdef E_RELEASE_BUILD
@@ -1765,17 +1758,6 @@ _e_main_cb_idle_after(void *data EINA_UNUSED)
 }
 
 static Eina_Bool
-_e_main_cb_x_flusher(void *data EINA_UNUSED)
-{
-   eet_clearcache();
-#ifndef HAVE_WAYLAND_ONLY
-   if (e_comp-comp_type == E_PIXMAP_TYPE_X)
- ecore_x_flush();
-#endif
-   return ECORE_CALLBACK_RENEW;
-}
-
-static Eina_Bool
 _e_main_cb_startup_fake_end(void *data EINA_UNUSED)
 {
e_init_hide();

-- 




[EGIT] [core/enlightenment] master 23/51: fix xwayland fd dup conditionals

2015-06-25 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit bd313e90dd5ed2a320e022661b4e773baca298b8
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Tue Apr 28 16:58:55 2015 -0400

fix xwayland fd dup conditionals
---
 src/modules/xwayland/e_mod_main.c | 12 
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/modules/xwayland/e_mod_main.c 
b/src/modules/xwayland/e_mod_main.c
index 92bad9a..2013607 100644
--- a/src/modules/xwayland/e_mod_main.c
+++ b/src/modules/xwayland/e_mod_main.c
@@ -192,17 +192,21 @@ _cb_xserver_event(void *data EINA_UNUSED, 
Ecore_Fd_Handler *hdlr EINA_UNUSED)
  {
   case 0:
 /* dup will unset CLOEXEC on the client as cloexec closes both ends */
-if ((fd = dup(socks[1])  0)) goto fail;
+fd = dup(socks[1]);
+if (fd  0) goto fail;
 snprintf(s, sizeof(s), %d, fd);
 setenv(WAYLAND_SOCKET, s, 1);
 
-if ((fd = dup(exs-abs_fd))  0) goto fail;
+fd = dup(exs-abs_fd);
+if (fd  0) goto fail;
 snprintf(abs_fd, sizeof(abs_fd), %d, fd);
 
-if ((fd = dup(exs-unx_fd))  0) goto fail;
+fd = dup(exs-unx_fd);
+if (fd  0) goto fail;
 snprintf(unx_fd, sizeof(unx_fd), %d, fd);
 
-if ((fd = dup(wms[1]))  0) goto fail;
+fd = dup(wms[1]);
+if (fd  0) goto fail;
 snprintf(wm_fd, sizeof(wm_fd), %d, fd);
 
 /* ignore usr1 and have X send it to the parent process */

-- 




[EGIT] [core/enlightenment] master 26/51: bump wayland version requirement to 1.8

2015-06-25 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 8e282cea608f4b78507da06fff71ed14b0730385
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Thu Jun 25 18:50:20 2015 -0400

bump wayland version requirement to 1.8
---
 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index 54ffb68..e685b02 100644
--- a/configure.ac
+++ b/configure.ac
@@ -796,7 +796,7 @@ AC_MSG_CHECKING([whether wayland EGL support is enabled])
 AC_MSG_RESULT([${e_cv_want_wayland_egl}])
 
 if test x${e_cv_want_wayland_only} != xno || test 
x${e_cv_want_wayland_clients} != xno;then
-  PKG_CHECK_MODULES([WAYLAND], [ecore-wayland wayland-server = 1.7.0 
xkbcommon uuid],
+  PKG_CHECK_MODULES([WAYLAND], [ecore-wayland wayland-server = 1.8.0 
xkbcommon uuid],
 [
   have_wayland=yes
   AC_DEFINE_UNQUOTED([HAVE_WAYLAND],[1],[enable wayland support])

-- 




[EGIT] [core/enlightenment] master 06/51: Add start of xwayand module code

2015-06-25 Thread Christopher Michael
discomfitor pushed a commit to branch master.

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

commit 2724f92bc6df5261bdbc18e52a496e7b482520e6
Author: Chris Michael cp.mich...@samsung.com
Date:   Wed Jul 2 11:46:22 2014 -0400

Add start of xwayand module code

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/modules/xwayland/e_mod_main.c | 129 ++
 1 file changed, 129 insertions(+)

diff --git a/src/modules/xwayland/e_mod_main.c 
b/src/modules/xwayland/e_mod_main.c
new file mode 100644
index 000..a6e5ed7
--- /dev/null
+++ b/src/modules/xwayland/e_mod_main.c
@@ -0,0 +1,129 @@
+#include e.h
+#include e_comp_wl.h
+
+/* local structures */
+typedef struct _E_XWayland_Server E_XWayland_Server;
+struct _E_XWayland_Server
+{
+   int disp;
+};
+
+/* local variables */
+static E_XWayland_Server *exs;
+
+/* local functions */
+static Eina_Bool 
+_lock_create(int disp)
+{
+   char lock[256], pid[16], *end;
+   int fd, size;
+   pid_t opid;
+
+   /* assemble lock file name */
+   snprintf(lock, sizeof(lock), /tmp/.X%d-lock, disp);
+   fd = open(lock, (O_WRONLY | O_CLOEXEC | O_CREAT | O_EXCL), 0444);
+   if ((fd  0)  (errno == EEXIST))
+ {
+fd = open(lock, (O_CLOEXEC | O_RDONLY));
+if ((fd  0) || (read(fd, pid, 11) != 11))
+  {
+ ERR(Could not read XWayland lock file: %m);
+ if (fd = 0) close(fd);
+ errno = EEXIST;
+ return EINA_FALSE;
+  }
+
+opid = strtol(pid, end, 0);
+if ((end != (pid + 10)))
+  {
+ if (fd = 0) close(fd);
+ errno = EEXIST;
+ return EINA_FALSE;
+  }
+
+if ((kill(opid, 0)  0)  (errno == ESRCH))
+  {
+ /* close stale lock file */
+ if (fd = 0) close(fd);
+
+ if (unlink(lock))
+   errno = EEXIST;
+ else
+   errno = EAGAIN;
+
+ return EINA_FALSE;
+  }
+close(fd);
+errno = EEXIST;
+return EINA_FALSE;
+ }
+   else if (fd  0)
+ {
+ERR(Could not create XWayland lock file: %m);
+return EINA_FALSE;
+ }
+
+   /* use the pid of the wayland compositor */
+   size = snprintf(pid, sizeof(pid), %10d\n, getpid());
+   if (write(fd, pid, size) != size)
+ {
+unlink(lock);
+close(fd);
+return EINA_FALSE;
+ }
+
+   close(fd);
+
+   return EINA_TRUE;
+}
+
+/* module functions */
+EAPI E_Module_Api e_modapi = { E_MODULE_API_VERSION, XWayland };
+
+EAPI void *
+e_modapi_init(E_Module *m)
+{
+   E_Comp *comp;
+
+   /* try to get the running compositor */
+   if (!(comp = e_comp_get(NULL))) return NULL;
+
+   /* make sure it's a wayland compositor */
+   if (comp-comp_type != E_PIXMAP_TYPE_WL) return NULL;
+
+   /* alloc space for server struct */
+   if (!(exs = calloc(1, sizeof(E_XWayland_Server
+ return NULL;
+
+   /* default display to zero */
+   exs-disp = 0;
+
+lock:
+   if (!_lock_create(exs-disp))
+ {
+if (errno == EAGAIN)
+  goto lock;
+else if (errno == EEXIST)
+  {
+ exs-disp++;
+ goto lock;
+  }
+else
+  {
+ free(exs);
+ return NULL;
+  }
+ }
+
+   /* TODO: bind sockets */
+
+   return m;
+}
+
+EAPI int 
+e_modapi_shutdown(E_Module *m)
+{
+   return 1;
+}
+
+

-- 




[EGIT] [core/enlightenment] master 07/51: xwayland: Fix configure.ac to substitute the xwayland binary path

2015-06-25 Thread Christopher Michael
discomfitor pushed a commit to branch master.

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

commit db295ffaf79f661677ffd159012a9c60613c64f5
Author: Chris Michael cp.mich...@samsung.com
Date:   Sun Jul 6 10:11:04 2014 -0400

xwayland: Fix configure.ac to substitute the xwayland binary path

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 configure.ac | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index 4c15763..0c72375 100644
--- a/configure.ac
+++ b/configure.ac
@@ -889,7 +889,8 @@ define([CHECK_MODULE_XWAYLAND],
 [
   if test x${e_cv_want_wayland_only} = xyes; then
 AC_E_CHECK_PKG(XWAYLAND, [ ecore = $efl_version eina = $efl_version ], 
[HAVE_XWAYLAND_DEPS=true], [HAVE_XWAYLAND_DEPS=false])
-AC_PATH_PROGS([XWAYLAND_BIN], [Xwayland], [HAVE_XWAYLAND_DEPS=false], 
[/sbin:/usr/sbin:$PATH])
+AC_PATH_PROG([XWAYLAND_BIN], [Xwayland], [HAVE_XWAYLAND_DEPS=false], 
[/sbin:/usr/sbin:$PATH])
+AC_SUBST(XWAYLAND_BIN)
   else
 HAVE_XWAYLAND_DEPS=false
   fi

-- 




[EGIT] [core/enlightenment] master 28/51: use c array size for e atom init

2015-06-25 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 113147fa304907ecbaf419893a718c3738976652
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Thu Jun 25 18:53:55 2015 -0400

use c array size for e atom init
---
 src/bin/e_atoms.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/bin/e_atoms.c b/src/bin/e_atoms.c
index 94e63d8..3b02184 100644
--- a/src/bin/e_atoms.c
+++ b/src/bin/e_atoms.c
@@ -33,9 +33,9 @@ e_atoms_init(void)
   __E_ATOM_DESKTOP_FILE,
   E_ZONE_GEOMETRY
};
-   Ecore_X_Atom atoms[11];
+   Ecore_X_Atom atoms[EINA_C_ARRAY_LENGTH(atom_names)];
 
-   ecore_x_atoms_get(atom_names, 11, atoms);
+   ecore_x_atoms_get(atom_names, EINA_C_ARRAY_LENGTH(atom_names), atoms);
E_ATOM_MANAGED = atoms[0];
E_ATOM_ZONE = atoms[1];
E_ATOM_DESK = atoms[2];

-- 




[EGIT] [core/enlightenment] master 09/51: xwayland: Create and bind to unix abstract sockets

2015-06-25 Thread Christopher Michael
discomfitor pushed a commit to branch master.

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

commit c1b2bb0618fd8f7412f6619a199ed69321a1b5b7
Author: Chris Michael cp.mich...@samsung.com
Date:   Sun Jul 6 10:12:03 2014 -0400

xwayland: Create and bind to unix  abstract sockets

NB: XWayland server needs the sockets setup prior to launching it so
we add some code to create  bind the needed sockets before starting
the XWayland binary

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/modules/xwayland/e_mod_main.c | 218 --
 1 file changed, 209 insertions(+), 9 deletions(-)

diff --git a/src/modules/xwayland/e_mod_main.c 
b/src/modules/xwayland/e_mod_main.c
index a6e5ed7..fe8b64e 100644
--- a/src/modules/xwayland/e_mod_main.c
+++ b/src/modules/xwayland/e_mod_main.c
@@ -1,11 +1,26 @@
 #include e.h
 #include e_comp_wl.h
+#include sys/socket.h
+#include sys/un.h
 
 /* local structures */
 typedef struct _E_XWayland_Server E_XWayland_Server;
 struct _E_XWayland_Server
 {
int disp;
+   int abs_fd, unx_fd;
+   char lock[256];
+
+   struct wl_event_loop *loop;
+
+   Ecore_Fd_Handler *abs_hdlr, *unx_hdlr;
+   Ecore_Event_Handler *sig_hdlr;
+
+   struct 
+ {
+pid_t pid;
+/* cleanup_func func; */
+ } process;
 };
 
 /* local variables */
@@ -13,14 +28,12 @@ static E_XWayland_Server *exs;
 
 /* local functions */
 static Eina_Bool 
-_lock_create(int disp)
+_lock_create(char *lock)
 {
-   char lock[256], pid[16], *end;
+   char pid[16], *end;
int fd, size;
pid_t opid;
 
-   /* assemble lock file name */
-   snprintf(lock, sizeof(lock), /tmp/.X%d-lock, disp);
fd = open(lock, (O_WRONLY | O_CLOEXEC | O_CREAT | O_EXCL), 0444);
if ((fd  0)  (errno == EEXIST))
  {
@@ -77,6 +90,158 @@ _lock_create(int disp)
return EINA_TRUE;
 }
 
+static int 
+_abstract_socket_bind(int disp)
+{
+   struct sockaddr_un addr;
+   socklen_t size, nsize;
+   int fd;
+
+   /* try to create a local socket */
+   if ((fd = socket(PF_LOCAL, (SOCK_STREAM | SOCK_CLOEXEC), 0))  0) 
+ return -1;
+
+   addr.sun_family = AF_LOCAL;
+   nsize = snprintf(addr.sun_path, sizeof(addr.sun_path), 
+%c/tmp/.X11-unix/X%d, 0, disp);
+   size = offsetof(struct sockaddr_un, sun_path) + nsize;
+
+   /* try to bind to the socket */
+   if (bind(fd, (struct sockaddr *)addr, size)  0)
+ {
+ERR(Failed to bind to abstract socket %s: %m, addr.sun_path + 1);
+goto err;
+ }
+
+   /* try to listen on the bound socket */
+   if (listen(fd, 1)  0) goto err;
+
+   return fd;
+
+err:
+   close(fd);
+   return -1;
+}
+
+static int 
+_unix_socket_bind(int disp)
+{
+   struct sockaddr_un addr;
+   socklen_t size, nsize;
+   int fd;
+
+   /* try to create a local socket */
+   if ((fd = socket(PF_LOCAL, (SOCK_STREAM | SOCK_CLOEXEC), 0))  0) 
+ return -1;
+
+   addr.sun_family = AF_LOCAL;
+   nsize = snprintf(addr.sun_path, sizeof(addr.sun_path), 
+/tmp/.X11-unix/X%d, disp) + 1;
+   size = offsetof(struct sockaddr_un, sun_path) + nsize;
+
+   unlink(addr.sun_path);
+
+   /* try to bind to the socket */
+   if (bind(fd, (struct sockaddr *)addr, size)  0)
+ {
+ERR(Failed to bind to abstract socket %s: %m, addr.sun_path + 1);
+goto err;
+ }
+
+   /* try to listen on the bound socket */
+   if (listen(fd, 1)  0) goto err;
+
+   return fd;
+
+err:
+   close(fd);
+   return -1;
+}
+
+static Eina_Bool 
+_cb_xserver_event(void *data EINA_UNUSED, Ecore_Fd_Handler *hdlr EINA_UNUSED)
+{
+   int socks[2], wms[2], fd;
+   char disp[8], s[8], *xserver = NULL;
+   char abs_fd[8], unx_fd[8], wm_fd[8];
+
+   if (socketpair(AF_UNIX, (SOCK_STREAM | SOCK_CLOEXEC), 0, socks)  0)
+ {
+ERR(XServer Socketpair failed: %m);
+return ECORE_CALLBACK_RENEW;
+ }
+
+   if (socketpair(AF_UNIX, (SOCK_STREAM | SOCK_CLOEXEC), 0, wms)  0)
+ {
+ERR(Window Manager Socketpair failed: %m);
+return ECORE_CALLBACK_RENEW;
+ }
+
+   exs-process.pid = fork();
+   switch (exs-process.pid)
+ {
+  case 0:
+/* dup will unset CLOEXEC on the client as cloexec closes both ends */
+if ((fd = dup(socks[1])  0)) goto fail;
+snprintf(s, sizeof(s), %d, fd);
+setenv(WAYLAND_SOCKET, s, 1);
+
+if ((fd = dup(exs-abs_fd))  0) goto fail;
+snprintf(abs_fd, sizeof(abs_fd), %d, fd);
+
+if ((fd = dup(exs-unx_fd))  0) goto fail;
+snprintf(unx_fd, sizeof(unx_fd), %d, fd);
+
+if ((fd = dup(wms[1]))  0) goto fail;
+snprintf(wm_fd, sizeof(wm_fd), %d, fd);
+
+/* ignore usr1 and have X send it to the parent process */
+signal(SIGUSR1, SIG_IGN);
+
+/* FIXME: need to get the patch of xwayland */
+snprintf(disp, sizeof(disp), :%d, exs-disp);
+
+DBG(XWAYLAND: %s, XWAYLAND_BIN);
+if (execl(xserver, xserver, disp, 

[EGIT] [core/enlightenment] master 02/51: Add xwayland module to modules Makefile

2015-06-25 Thread Christopher Michael
discomfitor pushed a commit to branch master.

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

commit 68dcfac5d3372ec2a8e1b847be1847c2a3a68e46
Author: Chris Michael cp.mich...@samsung.com
Date:   Wed Jul 2 11:45:12 2014 -0400

Add xwayland module to modules Makefile

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/modules/Makefile.mk | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/modules/Makefile.mk b/src/modules/Makefile.mk
index 62a1afe..abcbeeb 100644
--- a/src/modules/Makefile.mk
+++ b/src/modules/Makefile.mk
@@ -117,6 +117,8 @@ include src/modules/Makefile_wl_x11.mk
 
 include src/modules/Makefile_wl_fb.mk
 
+include src/modules/Makefile_xwayland.mk
+
 #if HAVE_WAYLAND_SCREENSHOT
 #include src/modules/Makefile_wl_screenshot.mk
 

-- 




[EGIT] [core/enlightenment] master 05/51: add xwayland module edj file for icon

2015-06-25 Thread Christopher Michael
discomfitor pushed a commit to branch master.

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

commit c86c57bee0df024721a255cefcdb5b4558afcbc5
Author: Chris Michael cp.mich...@samsung.com
Date:   Wed Jul 2 11:46:06 2014 -0400

add xwayland module edj file for icon

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/modules/xwayland/e-module-xwayland.edj | Bin 0 - 13048 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)

diff --git a/src/modules/xwayland/e-module-xwayland.edj 
b/src/modules/xwayland/e-module-xwayland.edj
new file mode 100644
index 000..2c1f4d2
Binary files /dev/null and b/src/modules/xwayland/e-module-xwayland.edj differ

-- 




[EGIT] [core/enlightenment] master 33/51: don't undef NEED_X in wl compositor headers

2015-06-25 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 877597e7a13dc32775d48e5283bba5ab0c57ab58
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Thu Jun 25 19:17:49 2015 -0400

don't undef NEED_X in wl compositor headers

no idea why this was here
---
 src/bin/e_comp_wl_data.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/bin/e_comp_wl_data.h b/src/bin/e_comp_wl_data.h
index e2963f4..10814d8 100644
--- a/src/bin/e_comp_wl_data.h
+++ b/src/bin/e_comp_wl_data.h
@@ -3,7 +3,6 @@
 # ifndef E_COMP_WL_DATA_H
 #  define E_COMP_WL_DATA_H
 
-#  undef NEED_X
 #  include e_comp_wl.h
 
 #  define CLIPBOARD_CHUNK 1024

-- 




[EGIT] [core/enlightenment] master 37/51: use ctrl+alt+backspace hotkey in wayland compositor for all non-release builds

2015-06-25 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 01a4273c38d4fbcc9887445b84078339039d1664
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Thu Jun 25 19:20:42 2015 -0400

use ctrl+alt+backspace hotkey in wayland compositor for all non-release 
builds
---
 src/bin/e_comp_wl.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index d838248..ac5d377 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -854,14 +854,12 @@ _e_comp_wl_cb_key_down(void *event)
keycode = (ev-keycode - 8);
if (!(cdata = e_comp-wl_comp_data)) return;
 
-#ifdef HAVE_WAYLAND_ONLY
- #ifndef E_RELEASE_BUILD
+#ifndef E_RELEASE_BUILD
if ((ev-modifiers  ECORE_EVENT_MODIFIER_CTRL) 
((ev-modifiers  ECORE_EVENT_MODIFIER_ALT) ||
(ev-modifiers  ECORE_EVENT_MODIFIER_ALTGR)) 
eina_streq(ev-key, BackSpace))
  exit(0);
- #endif
 #endif
 
end = (uint32_t *)cdata-kbd.keys.data + (cdata-kbd.keys.size / 
sizeof(*k));

-- 




[EGIT] [core/enlightenment] master 38/51: reject stacking clients from frame updates in client idler

2015-06-25 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit ca013d9439ebe63df7257566112ed798047ef842
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Thu Jun 25 19:21:28 2015 -0400

reject stacking clients from frame updates in client idler
---
 src/bin/e_client.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_client.c b/src/bin/e_client.c
index 7546a63..55b1eb0 100644
--- a/src/bin/e_client.c
+++ b/src/bin/e_client.c
@@ -2335,7 +2335,8 @@ e_client_idler_before(void)
 if (!_e_client_hook_call(E_CLIENT_HOOK_EVAL_POST_FETCH, ec)) continue;
 if (!_e_client_hook_call(E_CLIENT_HOOK_EVAL_PRE_FRAME_ASSIGN, ec)) 
continue;
 
-if ((ec-border.changed)  (!ec-shaded)  ((!ec-override) || 
ec-internal) 
+if ((ec-border.changed)  (!ec-shaded)  
(!e_client_is_stacking(ec)) 
+((!ec-override) || ec-internal) 
 (!(((ec-maximized  E_MAXIMIZE_TYPE) == E_MAXIMIZE_FULLSCREEN
   _e_client_frame_update(ec);
 ec-border.changed = 0;

-- 




[EGIT] [core/enlightenment] master 14/51: xwayland: Fix build breakage with recent e_comp_wl changes

2015-06-25 Thread Christopher Michael
discomfitor pushed a commit to branch master.

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

commit f49acd38b417e1ee4d3c991a7bea901034407cdc
Author: Chris Michael cp.mich...@samsung.com
Date:   Thu Sep 4 14:45:20 2014 -0400

xwayland: Fix build breakage with recent e_comp_wl changes

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/modules/xwayland/e_mod_main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/modules/xwayland/e_mod_main.c 
b/src/modules/xwayland/e_mod_main.c
index a01458d..a6dc8bf 100644
--- a/src/modules/xwayland/e_mod_main.c
+++ b/src/modules/xwayland/e_mod_main.c
@@ -1,5 +1,5 @@
+#define E_COMP_WL
 #include e.h
-#include e_comp_wl.h
 #include sys/socket.h
 #include sys/un.h
 

-- 




[EGIT] [core/enlightenment] master 42/51: don't call wl comp delete function twice on shutdown

2015-06-25 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit fab0b8122f06dc4c8562bae03ea3fb998e31173c
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Thu Jun 25 19:24:40 2015 -0400

don't call wl comp delete function twice on shutdown
---
 src/bin/e_comp_wl.c | 4 
 1 file changed, 4 deletions(-)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 971c4a9..101e62b 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -2657,10 +2657,6 @@ e_comp_wl_surface_create_signal_get(void)
 EINTERN void
 e_comp_wl_shutdown(void)
 {
-#ifndef HAVE_WAYLAND_ONLY
-   _e_comp_wl_compositor_cb_del(e_comp);
-#endif
-
/* free handlers */
E_FREE_LIST(handlers, ecore_event_handler_del);
 

-- 




[EGIT] [core/enlightenment] master 04/51: add xwayland module desktop file

2015-06-25 Thread Christopher Michael
discomfitor pushed a commit to branch master.

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

commit 576b11567dd83d209c970dfc0b23672c7bc177f9
Author: Chris Michael cp.mich...@samsung.com
Date:   Wed Jul 2 11:45:55 2014 -0400

add xwayland module desktop file

Signed-off-by: Chris Michael cp.mich...@samsung.com
---
 src/modules/xwayland/module.desktop.in | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/src/modules/xwayland/module.desktop.in 
b/src/modules/xwayland/module.desktop.in
new file mode 100644
index 000..c177edb
--- /dev/null
+++ b/src/modules/xwayland/module.desktop.in
@@ -0,0 +1,7 @@
+[Desktop Entry]
+Encoding=UTF-8
+Type=Link
+Name=XWayland
+Comment=Enlightenment XWayland
+Icon=e-module-xwayland
+X-Enlightenment-ModuleType=look

-- 




[EGIT] [core/enlightenment] master 45/51: block xkb activation for non-X11 compositors

2015-06-25 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit f832640f18a5f5cc5dfb32a5223873231ed033c6
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Thu Jun 25 19:29:49 2015 -0400

block xkb activation for non-X11 compositors
---
 src/bin/e_xkb.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/bin/e_xkb.c b/src/bin/e_xkb.c
index 9847419..e306ee1 100644
--- a/src/bin/e_xkb.c
+++ b/src/bin/e_xkb.c
@@ -13,6 +13,7 @@ _e_xkb_init_timer(void *data)
E_Config_XKB_Layout *cl2, *cl = data;
int cur_group = -1;
 
+   if (!e_comp-root) return EINA_FALSE;
EINA_LIST_FOREACH(e_config-xkb.used_layouts, l, cl2)
  {
 cur_group++;

-- 




[EGIT] [core/enlightenment] master 19/51: fix xwayland linkage + makefile formatting

2015-06-25 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 3e20ea2fbc123d53283f6532a0d3772f3c10bad5
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Tue Apr 28 13:25:18 2015 -0400

fix xwayland linkage + makefile formatting
---
 src/modules/Makefile_xwayland.mk | 10 ++
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/modules/Makefile_xwayland.mk b/src/modules/Makefile_xwayland.mk
index 15e7eac..5afc15b 100644
--- a/src/modules/Makefile_xwayland.mk
+++ b/src/modules/Makefile_xwayland.mk
@@ -4,14 +4,16 @@ xwaylandpkg_LTLIBRARIES = src/modules/xwayland/module.la
 
 src_modules_xwayland_module_la_DEPENDENCIES = $(MDEPENDENCIES)
 src_modules_xwayland_module_la_CPPFLAGS  = \
-  $(MOD_CPPFLAGS) @XWAYLAND_CFLAGS@ @WAYLAND_CFLAGS@ \
-  -DXWAYLAND_BIN=\@XWAYLAND_BIN@\
+$(MOD_CPPFLAGS) \
+@XWAYLAND_CFLAGS@ \
+@WAYLAND_CFLAGS@ \
+-DXWAYLAND_BIN=\@XWAYLAND_BIN@\
 
-src_modules_xwayland_module_la_LIBADD   = $(LIBS) @XWAYLAND_LIBS@ 
@WAYLAND_LIBS@
+src_modules_xwayland_module_la_LIBADD   = $(MOD_LIBS) @XWAYLAND_LIBS@ 
@WAYLAND_LIBS@
 src_modules_xwayland_module_la_LDFLAGS = $(MOD_LDFLAGS)
 
 src_modules_xwayland_module_la_SOURCES = \
-  src/modules/xwayland/e_mod_main.c
+src/modules/xwayland/e_mod_main.c
 
 PHONIES += xwayland install-xwayland
 xwayland: $(xwaylandpkg_LTLIBRARIES)

-- 




[EGIT] [core/enlightenment] master 49/51: reject non-x11 clients from _e_comp_x_client_zone_geometry_set()

2015-06-25 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit cd646e8ecd79feb4ae6cfd1738d51b6c9c26b9dd
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Thu Jun 25 19:59:42 2015 -0400

reject non-x11 clients from _e_comp_x_client_zone_geometry_set()
---
 src/bin/e_comp_x.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c
index 4e918f2..d9da7ac 100644
--- a/src/bin/e_comp_x.c
+++ b/src/bin/e_comp_x.c
@@ -2266,6 +2266,7 @@ _e_comp_x_client_zone_geometry_set(E_Client *ec)
 {
unsigned int zgeom[4];
 
+   E_COMP_X_PIXMAP_CHECK;
zgeom[0] = ec-zone-x;
zgeom[1] = ec-zone-y;
zgeom[2] = ec-zone-w;

-- 




[EGIT] [core/elementary] master 01/02: test_win_keygrab: Fix buffer not null terminated error.

2015-06-25 Thread Daniel Juyung Seo
seoz pushed a commit to branch master.

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

commit ef5a4717f5a316f861aada9ae7cd0f5a83018cc9
Author: Daniel Juyung Seo seojuyu...@gmail.com
Date:   Fri Jun 26 10:08:08 2015 +0900

test_win_keygrab: Fix buffer not null terminated error.

This fixes coverity CID 1308264.
---
 src/bin/test_win_keygrab.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/test_win_keygrab.c b/src/bin/test_win_keygrab.c
index f1c7473..9032e9f 100644
--- a/src/bin/test_win_keygrab.c
+++ b/src/bin/test_win_keygrab.c
@@ -58,7 +58,7 @@ _entry_changed_cb(void *data , Evas_Object *obj, void 
*event_info EINA_UNUSED)
api_data *api = data;
const char *str = elm_entry_entry_get(obj);
if (!str) return;
-   strncpy(api-keyname, str, PATH_MAX);
+   strncpy(api-keyname, str, PATH_MAX - 1);
printf(entry: %s\n,str);
 }
 

-- 




[EGIT] [core/efl] master 01/38: Evas render: Fix rendering of objects with no_render

2015-06-25 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 8c473648461f48ee07a9d8efa0e5b8ee9b1e43ca
Author: Jean-Philippe Andre jp.an...@samsung.com
Date:   Tue Jun 16 19:20:57 2015 +0900

Evas render: Fix rendering of objects with no_render

Well yeah, those objects should still be rendered in their
proxy or mask surface :)
---
 src/lib/evas/canvas/evas_render.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/evas/canvas/evas_render.c 
b/src/lib/evas/canvas/evas_render.c
index ed75d0a..98658d4 100644
--- a/src/lib/evas/canvas/evas_render.c
+++ b/src/lib/evas/canvas/evas_render.c
@@ -1270,7 +1270,7 @@ evas_render_mapped(Evas_Public_Data *e, Evas_Object 
*eo_obj,
  RD(level, }\n);
  return clean_them;
   }
-else if (obj-no_render)
+else if (obj-no_render  (!use_mapped_ctx || (surface != 
obj-proxy-surface)))
   {
  RD(level,   no render\n}\n);
  return clean_them;

-- 




[EGIT] [core/efl] master 23/38: Evas filters: EO-ify the filters API

2015-06-25 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 64fd278c62e3286c453885216d2d0c86a01ce9fc
Author: Jean-Philippe Andre jp.an...@samsung.com
Date:   Wed Jun 17 16:26:30 2015 +0900

Evas filters: EO-ify the filters API

This creates the new interface
 Efl.Gfx.Filter

And the implementation is a mixin (evas_filter_mixin.c):
 Evas.Filter

All the filter rendering code has now been moved to this
new file. TODO: Merge image filtering.
---
 doc/previews/preview_text_filter.c   |   2 +-
 src/Makefile_Efl.am  |   4 +-
 src/Makefile_Evas.am |   8 +-
 src/lib/edje/edje_calc.c |  36 +-
 src/lib/edje/edje_private.h  |   2 +-
 src/lib/edje/edje_text.c |   2 +-
 src/lib/efl/Efl.h|   1 +
 src/lib/efl/interfaces/efl_gfx_filter.eo |  73 
 src/lib/efl/interfaces/efl_interfaces_main.c |   2 +
 src/lib/evas/canvas/evas_filter.eo   |  66 +++
 src/lib/evas/canvas/evas_filter_mixin.c  | 512 ++
 src/lib/evas/canvas/evas_object_main.c   |   2 +-
 src/lib/evas/canvas/evas_object_text.c   | 609 +--
 src/lib/evas/canvas/evas_text.eo |  67 +--
 src/lib/evas/include/evas_private.h  |   3 +
 src/tests/evas/evas_test_filters.c   |   8 +-
 16 files changed, 796 insertions(+), 601 deletions(-)

diff --git a/doc/previews/preview_text_filter.c 
b/doc/previews/preview_text_filter.c
index 864342b..24c51cd 100644
--- a/doc/previews/preview_text_filter.c
+++ b/doc/previews/preview_text_filter.c
@@ -111,7 +111,7 @@ main(int argc, char **argv)
evas_object_color_set(o, 255, 255, 255, 255);
evas_object_show(o);
 
-   eo_do(o, evas_obj_text_filter_program_set(filter));
+   eo_do(o, efl_gfx_filter_program_set(filter));
 
ecore_evas_manual_render(wpd.ee);
evas_object_geometry_get(o, NULL, NULL, w, h);
diff --git a/src/Makefile_Efl.am b/src/Makefile_Efl.am
index 5d45ae0..ad49f47 100644
--- a/src/Makefile_Efl.am
+++ b/src/Makefile_Efl.am
@@ -13,7 +13,9 @@ efl_eolian_files = \
   lib/efl/interfaces/efl_gfx_gradient_base.eo \
   lib/efl/interfaces/efl_gfx_gradient_linear.eo \
   lib/efl/interfaces/efl_gfx_gradient_radial.eo \
-  lib/efl/interfaces/efl_model_base.eo
+  lib/efl/interfaces/efl_gfx_filter.eo \
+  lib/efl/interfaces/efl_model_base.eo \
+  $(NULL)
 
 efl_eolian_files_h = $(efl_eolian_files:%.eo=%.eo.h)
 efl_eolian_files_c = $(efl_eolian_files:%.eo=%.eo.c)
diff --git a/src/Makefile_Evas.am b/src/Makefile_Evas.am
index ef59a2f..cfba9b6 100644
--- a/src/Makefile_Evas.am
+++ b/src/Makefile_Evas.am
@@ -40,7 +40,9 @@ evas_eolian_files = \
lib/evas/canvas/efl_vg_root_node.eo \
lib/evas/canvas/efl_vg_gradient.eo \
lib/evas/canvas/efl_vg_gradient_radial.eo \
-   lib/evas/canvas/efl_vg_gradient_linear.eo
+   lib/evas/canvas/efl_vg_gradient_linear.eo \
+   lib/evas/canvas/evas_filter.eo \
+   $(NULL)
 
 evas_eolian_type_files = \
 lib/evas/canvas/evas_types.eot
@@ -520,7 +522,9 @@ lib/evas/common/evas_op_sub/op_sub_pixel_mask_i386.c
 
 ### Evas filters
 
-lib_evas_libevas_la_SOURCES += lib/evas/filters/evas_filter.c \
+lib_evas_libevas_la_SOURCES += \
+lib/evas/canvas/evas_filter_mixin.c \
+lib/evas/filters/evas_filter.c \
 lib/evas/filters/evas_filter_blend.c \
 lib/evas/filters/evas_filter_blur.c \
 lib/evas/filters/evas_filter_bump.c \
diff --git a/src/lib/edje/edje_calc.c b/src/lib/edje/edje_calc.c
index 30478a6..a1cd9c1 100644
--- a/src/lib/edje/edje_calc.c
+++ b/src/lib/edje/edje_calc.c
@@ -1603,7 +1603,7 @@ _edje_part_recalc_single_text(FLOAT_T sc EINA_UNUSED,
   Edje_Part_Description_Text *chosen_desc,
   Edje_Calc_Params *params,
   int *minw, int *minh,
-  int *maxw, int *maxh, double pos)
+  int *maxw, int *maxh)
 #define RECALC_SINGLE_TEXT_USING_APPLY 1
 #if RECALC_SINGLE_TEXT_USING_APPLY
 /*
@@ -1634,7 +1634,7 @@ _edje_part_recalc_single_text(FLOAT_T sc EINA_UNUSED,
free(sfont);
params-type.text.size = size; /* XXX TODO used by further calcs, go inside 
recalc_apply? */
 
-   _edje_text_recalc_apply(ed, ep, params, chosen_desc, EINA_TRUE, pos);
+   _edje_text_recalc_apply(ed, ep, params, chosen_desc, EINA_TRUE);
 
if ((!chosen_desc) ||
((!chosen_desc-text.min_x)  (!chosen_desc-text.min_y) 
@@ -2406,6 +2406,7 @@ _edje_part_recalc_single_map(Edje *ed,
 static inline const char *
 _edje_filter_get(Edje *ed, Edje_Part_Description_Spec_Filter *filter)
 {
+   if (!filter-code) return NULL;
if (EINA_UNLIKELY(!filter-checked_data))
  {
 Edje_String *st;
@@ -2433,7 +2434,6 @@ _edje_part_recalc_single_filter(Edje *ed,
const 

[EGIT] [core/efl] master 37/38: Evas filters: Use smooth scaling by default for proxies

2015-06-25 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 14c14349604cea5c7bcd00c634b8416613f08a23
Author: Jean-Philippe Andre jp.an...@samsung.com
Date:   Thu Jun 25 15:02:44 2015 +0900

Evas filters: Use smooth scaling by default for proxies

Is it too slow? Then I guess a new API option will be required.
---
 src/lib/evas/filters/evas_filter_utils.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/evas/filters/evas_filter_utils.c 
b/src/lib/evas/filters/evas_filter_utils.c
index 088cb53..c643c67 100644
--- a/src/lib/evas/filters/evas_filter_utils.c
+++ b/src/lib/evas/filters/evas_filter_utils.c
@@ -58,7 +58,7 @@ evas_filter_buffer_scaled_get(Evas_Filter_Context *ctx,
  dc.sli.h = 1;
  dc.render_op = EVAS_RENDER_COPY;
 
- ok = evas_common_scale_rgba_in_to_out_clip_sample
+ ok = evas_common_scale_rgba_in_to_out_clip_smooth
(s, d, dc, 0, 0, src-w, src-h, 0, 0, w, h);
  if (!ok)
{

-- 




[EGIT] [core/efl] master 15/38: Evas filters: Implement Lua classes for colors buffer

2015-06-25 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit f3e16bc4854268cecc19a38671c6f68071b7955b
Author: Jean-Philippe Andre jp.an...@samsung.com
Date:   Thu Jun 4 19:42:38 2015 +0900

Evas filters: Implement Lua classes for colors  buffer

Reuse previous code for buffer. Keeps API stability.

The new class color is here for a more convenient color
representation. This way, colors can be represented in more
natural ways like: {r,g,b[,a]}, 0xaarrggbb, red, #rrggbb

Class color is implemented in pure Lua, and adds a .lua file
to Evas' share folder.
---
 src/Makefile_Evas.am   |   8 +
 src/lib/evas/file/evas_module.c|  10 +
 src/lib/evas/filters/evas_filter.c |   1 +
 src/lib/evas/filters/evas_filter_parser.c  | 581 -
 src/lib/evas/filters/evas_filter_private.h |   2 +
 src/lib/evas/filters/lua/color.lua | 302 +++
 src/lib/evas/include/evas_private.h|   1 +
 7 files changed, 638 insertions(+), 267 deletions(-)

diff --git a/src/Makefile_Evas.am b/src/Makefile_Evas.am
index 941e1d2..ef59a2f 100644
--- a/src/Makefile_Evas.am
+++ b/src/Makefile_Evas.am
@@ -2204,3 +2204,11 @@ installed_evasluadir = $(datadir)/elua/modules/evas
 nodist_installed_evaslua_DATA = $(generated_evas_lua_all)
 
 endif
+
+# Evas filters Lua stuff
+evas_filters_lua = \
+lib/evas/filters/lua/color.lua \
+$(NULL)
+
+installed_evasfiltersdir = $(datadir)/evas/filters/lua
+dist_installed_evasfilters_DATA = $(evas_filters_lua)
diff --git a/src/lib/evas/file/evas_module.c b/src/lib/evas/file/evas_module.c
index ead2612..bafc6e7 100644
--- a/src/lib/evas/file/evas_module.c
+++ b/src/lib/evas/file/evas_module.c
@@ -680,6 +680,16 @@ _evas_module_libdir_get(void)
return eina_prefix_lib_get(pfx);
 }
 
+const char *
+_evas_module_datadir_get(void)
+{
+   if (!pfx) pfx = eina_prefix_new
+  (NULL, _evas_module_libdir_get, EVAS, evas, checkme,
+   PACKAGE_BIN_DIR, PACKAGE_LIB_DIR, PACKAGE_DATA_DIR, PACKAGE_DATA_DIR);
+   if (!pfx) return NULL;
+   return eina_prefix_data_get(pfx);
+}
+
 EAPI const char *
 evas_cserve_path_get(void)
 {
diff --git a/src/lib/evas/filters/evas_filter.c 
b/src/lib/evas/filters/evas_filter.c
index 1e369f0..d420929 100644
--- a/src/lib/evas/filters/evas_filter.c
+++ b/src/lib/evas/filters/evas_filter.c
@@ -2002,6 +2002,7 @@ void
 evas_filter_shutdown()
 {
if ((--init_cnt)  0) return;
+   evas_filter_parser_shutdown();
eina_log_domain_unregister(_evas_filter_log_dom);
_evas_filter_log_dom = 0;
 }
diff --git a/src/lib/evas/filters/evas_filter_parser.c 
b/src/lib/evas/filters/evas_filter_parser.c
index c5f409d..8992dcb 100644
--- a/src/lib/evas/filters/evas_filter_parser.c
+++ b/src/lib/evas/filters/evas_filter_parser.c
@@ -215,35 +215,6 @@
   @since 1.9
  */
 
-// Map of the most common HTML color names
-static struct
-{
-   const char *name;
-   DATA32 value;
-} color_map[] =
-{
-   { white, 0x },
-   { black, 0xFF00 },
-   { red, 0x },
-   { green, 0xFF008000 },
-   { blue, 0xFFFF },
-   { darkblue, 0xFFA0 },
-   { yellow, 0xFF00 },
-   { magenta, 0x00FF },
-   { cyan, 0xFF00 },
-   { orange, 0xA500 },
-   { purple, 0xFF800080 },
-   { brown, 0xFFA52A2A },
-   { maroon, 0xFF80 },
-   { lime, 0xFF00FF00 },
-   { gray, 0xFF808080 },
-   { grey, 0xFF808080 },
-   { silver, 0xFFC0C0C0 },
-   { olive, 0xFF808000 },
-   { invisible, 0x },
-   { transparent, 0x }
-};
-
 static struct
 {
const char *name;
@@ -265,9 +236,15 @@ static struct
{ stretch_xy, EVAS_FILTER_FILL_MODE_STRETCH_XY }
 };
 
-static const char *_lua_buffer_meta = Filter.buffer;
+static const char *_lua_buffer_meta = buffer;
+static const char *_lua_color_meta = color;
+#define _lua_methods_table __methods
+#define _lua_register_func __register
+#define _lua_errfunc_name __backtrace
 
 static Evas_Filter_Fill_Mode _fill_mode_get(Evas_Filter_Instruction *instr);
+static Eina_Bool _lua_instruction_run(lua_State *L, Evas_Filter_Instruction 
*instr);
+static int _lua_backtrace(lua_State *L);
 
 typedef enum
 {
@@ -618,46 +595,6 @@ _bool_parse(const char *str, Eina_Bool *b)
 
 #define PARSE_CHECK(a) do { if (!(a)) { ERR(Parsing failed because '%s' is 
false at %s:%d, #a, __FUNCTION__, __LINE__); PARSE_ABORT(); goto end; } } 
while (0)
 
-static Eina_Bool
-_color_parse(const char *word, DATA32 *color)
-{
-   DATA32 value;
-   Eina_Bool success = EINA_FALSE;
-
-   PARSE_CHECK(word  *word);
-
-   errno = 0;
-   if (*word == '#')
- {
-unsigned char a, r, g, b;
-int slen = strlen(word);
-PARSE_CHECK(evas_common_format_color_parse(word, slen, r, g, b, 
a));
-value = ARGB_JOIN(a, r, g, b);
- }
-   else
- {
-unsigned int k;
-for (k = 0; k  (sizeof(color_map) / sizeof(color_map[0])); k++)
-  {
-

[EGIT] [core/efl] master 17/38: Evas filters: Fix blur from rgba to alpha

2015-06-25 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit f57929bf6ed4f9e0d20de2c90be663c48cfadd29
Author: Jean-Philippe Andre jp.an...@samsung.com
Date:   Mon Jun 15 17:43:39 2015 +0900

Evas filters: Fix blur from rgba to alpha
---
 src/lib/evas/filters/evas_filter.c | 11 +++
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/src/lib/evas/filters/evas_filter.c 
b/src/lib/evas/filters/evas_filter.c
index dc022a3..7ad2878 100644
--- a/src/lib/evas/filters/evas_filter.c
+++ b/src/lib/evas/filters/evas_filter.c
@@ -931,14 +931,9 @@ evas_filter_command_blur_add(Evas_Filter_Context *ctx, 
void *drawctx,
 goto fail;
  }
 
-   if (!in-alpha_only  out-alpha_only)
- {
-/* FIXME: Add temporary buffer + blend */
-ERR(Input is RGBA but output is Alpha only. Unsupported config for 
blur.);
-goto fail;
- }
-   else if ((blend || (in-alpha_only  !out-alpha_only)) ||
-(!blend  !in-alpha_only  !out-alpha_only  (color != 
0x)))
+   if ((blend || (in-alpha_only  !out-alpha_only)) ||
+(!blend  !in-alpha_only  !out-alpha_only  (color != 
0x)) ||
+(!in-alpha_only  out-alpha_only))
  {
 XDBG(Adding extra blending step %d -- %d (%s -- %s), in-id, 
out-id,
 in-alpha_only ? Alpha : RGBA,

-- 




[EGIT] [core/efl] master 25/38: Evas filters: Complete support for image filtering

2015-06-25 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 29402b2ce965c83cdcbfa29ac08b918ab01d95d2
Author: Jean-Philippe Andre jp.an...@samsung.com
Date:   Thu Jun 18 21:45:21 2015 +0900

Evas filters: Complete support for image filtering

Reusing the new EO mixin, complete the support for image
filtering. This now adds support for edje state inside
the image filter.
---
 src/lib/evas/canvas/evas_filter.eo  |   6 +
 src/lib/evas/canvas/evas_filter_mixin.c |  18 +-
 src/lib/evas/canvas/evas_image.eo   |  65 +---
 src/lib/evas/canvas/evas_object_image.c | 559 
 src/lib/evas/canvas/evas_object_text.c  |  31 +-
 src/lib/evas/canvas/evas_text.eo|   3 +-
 6 files changed, 166 insertions(+), 516 deletions(-)

diff --git a/src/lib/evas/canvas/evas_filter.eo 
b/src/lib/evas/canvas/evas_filter.eo
index 7f6bdcb..2750e10 100644
--- a/src/lib/evas/canvas/evas_filter.eo
+++ b/src/lib/evas/canvas/evas_filter.eo
@@ -32,10 +32,15 @@ mixin Evas.Filter (Efl.Gfx.Filter)
This should be called at the beginning of a parent's class 
destructor.
  ]]
   }
+  input_alpha {
+ [[Called by Evas.Filter to determine whether the input is alpha or 
rgba.]]
+ return: bool;
+  }
   input_render {
  [[Called by Evas.Filter when the parent class must render the input.
  ;
  ]]
+ return: bool; [[Indicates success from the object render function.]]
  params {
 filter: void*; [[Evas_Filter_Context]]
 drawctx: void*;
@@ -60,6 +65,7 @@ mixin Evas.Filter (Efl.Gfx.Filter)
   Efl.Gfx.Filter.padding.get;
   Efl.Gfx.Filter.source_set;
   Efl.Gfx.Filter.source_get;
+  @virtual .input_alpha;
   @virtual .input_render;
   @virtual .dirty;
}
diff --git a/src/lib/evas/canvas/evas_filter_mixin.c 
b/src/lib/evas/canvas/evas_filter_mixin.c
index 20aa8cc..243b359 100644
--- a/src/lib/evas/canvas/evas_filter_mixin.c
+++ b/src/lib/evas/canvas/evas_filter_mixin.c
@@ -222,21 +222,9 @@ evas_filter_object_render(Eo *eo_obj, 
Evas_Object_Protected_Data *obj,
 if (fcow-output != previous)
   evas_filter_buffer_backing_release(filter, previous);
 
+// Request rendering from the object itself (child class)
 evas_filter_program_padding_get(fcow-chain, l, r, t, b);
 eo_do(eo_obj, evas_filter_input_render(filter, drawctx, l, r, t, b, 
do_async));
-#warning TODO: draw text into input buffer
-#if 0
-// Render text to input buffer
-EINA_INLIST_FOREACH(EINA_INLIST_GET(pd-items), it)
-  if ((pd-font)  (it-text_props.len  0))
-{
-   evas_filter_font_draw(filter, drawctx, 
EVAS_FILTER_BUFFER_INPUT_ID, pd-font,
- sl + it-x,
- st + (int) pd-max_ascent,
- it-text_props,
- do_async);
-}
-#endif
 
 ENFN-context_free(ENDT, drawctx);
 
@@ -268,6 +256,7 @@ _evas_filter_efl_gfx_filter_program_set(Eo *eo_obj, 
Evas_Filter_Data *pd,
 {
Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, 
EVAS_OBJECT_CLASS);
Evas_Filter_Program *pgm = NULL;
+   Eina_Bool alpha;
 
if (!pd) return;
if (pd-data-code == code) return;
@@ -280,7 +269,8 @@ _evas_filter_efl_gfx_filter_program_set(Eo *eo_obj, 
Evas_Filter_Data *pd,
 evas_filter_program_del(fcow-chain);
 if (code)
   {
- pgm = evas_filter_program_new(Evas_Text, EINA_TRUE);
+ alpha = eo_do_ret(eo_obj, alpha, evas_filter_input_alpha());
+ pgm = evas_filter_program_new(Evas.Filter, alpha);
  evas_filter_program_source_set_all(pgm, fcow-sources);
  evas_filter_program_state_set(pgm, eo_obj, obj,
fcow-state.cur.name, 
fcow-state.cur.value,
diff --git a/src/lib/evas/canvas/evas_image.eo 
b/src/lib/evas/canvas/evas_image.eo
index 38231e3..9d387b5 100644
--- a/src/lib/evas/canvas/evas_image.eo
+++ b/src/lib/evas/canvas/evas_image.eo
@@ -1,4 +1,4 @@
-class Evas.Image (Evas.Object, Efl.File, Efl.Image, Efl.Gfx.Fill, Efl.Gfx.View)
+class Evas.Image (Evas.Object, Efl.File, Efl.Image, Efl.Gfx.Fill, 
Efl.Gfx.View, Evas.Filter)
 {
legacy_prefix: evas_object_image;
eo_prefix: evas_obj_image;
@@ -756,61 +756,6 @@ class Evas.Image (Evas.Object, Efl.File, Efl.Image, 
Efl.Gfx.Fill, Efl.Gfx.View)
 scene: Evas.Canvas3D.Scene *; /*@ 3D scene on an image object. */
  }
   }
-  @property filter_program {
- set {
-/*@ Set an Evas filter program on this Text Object.
-
-If the program fails to compile (syntax error, invalid
-buffer name, etc...), the standard text effects will be
-applied instead 

[EGIT] [core/efl] master 03/38: Evas filters: Add internal function _program_run

2015-06-25 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 2faaef966e41b35656fd77be94701009ad183c42
Author: Jean-Philippe Andre jp.an...@samsung.com
Date:   Mon May 18 17:35:49 2015 +0900

Evas filters: Add internal function _program_run

This will allow changing the state of the filter and re-run it
without re-creating the Lua_State object. This is to handle size,
color, animation state and scale changes (amongst other things).
---
 src/lib/evas/canvas/evas_object_image.c   |  2 +-
 src/lib/evas/canvas/evas_object_text.c|  8 ++--
 src/lib/evas/filters/evas_filter.c| 16 +++
 src/lib/evas/filters/evas_filter_parser.c | 76 ---
 src/lib/evas/include/evas_filter.h|  4 +-
 5 files changed, 86 insertions(+), 20 deletions(-)

diff --git a/src/lib/evas/canvas/evas_object_image.c 
b/src/lib/evas/canvas/evas_object_image.c
index b2f8b95..a272206 100644
--- a/src/lib/evas/canvas/evas_object_image.c
+++ b/src/lib/evas/canvas/evas_object_image.c
@@ -3315,7 +3315,7 @@ start_draw:
   if (!ok) goto state_write;
 
   evas_filter_context_proxy_render_all(filter, eo_obj, 
EINA_FALSE);
-  ok = evas_filter_context_buffers_allocate_all(filter, W, H);
+  ok = evas_filter_context_buffers_allocate_all(filter);
   if (!ok) goto state_write;
 
   if (ENFN-gl_surface_read_pixels)
diff --git a/src/lib/evas/canvas/evas_object_text.c 
b/src/lib/evas/canvas/evas_object_text.c
index d7ee55e..42620cb 100644
--- a/src/lib/evas/canvas/evas_object_text.c
+++ b/src/lib/evas/canvas/evas_object_text.c
@@ -1760,7 +1760,6 @@ evas_object_text_render(Evas_Object *eo_obj,
  * image to GL.
  */
 
-
 W = obj-cur-geometry.w;
 H = obj-cur-geometry.h;
 X = obj-cur-geometry.x;
@@ -1837,6 +1836,7 @@ evas_object_text_render(Evas_Object *eo_obj,
   }
 
 filter = evas_filter_context_new(obj-layer-evas, do_async);
+evas_filter_program_run(fcow-chain);
 ok = evas_filter_context_program_use(filter, fcow-chain);
 if (!filter || !ok)
   {
@@ -1856,7 +1856,7 @@ evas_object_text_render(Evas_Object *eo_obj,
 ENFN-context_color_set(ENDT, filter_ctx, 255, 255, 255, 255);
 
 // Allocate all buffers now
-evas_filter_context_buffers_allocate_all(filter, W, H);
+evas_filter_context_buffers_allocate_all(filter);
 evas_filter_target_set(filter, context, surface, X + x, Y + y);
 
 // Steal output and release previous
@@ -2379,7 +2379,6 @@ EOLIAN static void
 _evas_text_filter_program_set(Eo *eo_obj, Evas_Text_Data *o, const char *arg)
 {
Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, 
EVAS_OBJECT_CLASS);
-
Evas_Filter_Program *pgm = NULL;
 
if (!o) return;
@@ -2393,8 +2392,9 @@ _evas_text_filter_program_set(Eo *eo_obj, Evas_Text_Data 
*o, const char *arg)
 evas_filter_program_del(fcow-chain);
 if (arg)
   {
- pgm = evas_filter_program_new(Evas_Text: Filter Program, 
EINA_TRUE);
+ pgm = evas_filter_program_new(Evas_Text, EINA_TRUE);
  evas_filter_program_source_set_all(pgm, fcow-sources);
+ evas_filter_program_state_set(pgm, obj-cur-geometry.w, 
obj-cur-geometry.h);
  if (!evas_filter_program_parse(pgm, arg))
{
   ERR(Parsing failed!);
diff --git a/src/lib/evas/filters/evas_filter.c 
b/src/lib/evas/filters/evas_filter.c
index 0f24870..523018f 100644
--- a/src/lib/evas/filters/evas_filter.c
+++ b/src/lib/evas/filters/evas_filter.c
@@ -22,6 +22,8 @@
 # include evas_cs2_private.h
 #endif
 
+#define _assert(a) if (!(a)) CRI(Failed on %s, #a);
+
 static void _buffer_free(Evas_Filter_Buffer *fb);
 static void _command_del(Evas_Filter_Context *ctx, Evas_Filter_Command *cmd);
 static RGBA_Image *_rgba_image_alloc(Evas_Filter_Buffer const *fb, void *data);
@@ -205,13 +207,13 @@ evas_filter_context_proxy_render_all(Evas_Filter_Context 
*ctx, Eo *eo_obj,
{
   // TODO: Lock current object as proxyrendering (see image obj)
   source = eo_data_scope_get(fb-source, EVAS_OBJECT_CLASS);
+  _assert(fb-w == source-cur-geometry.w);
+  _assert(fb-h == source-cur-geometry.h);
   if (source-proxy-surface  !source-proxy-redraw)
 {
DBG(Source already rendered: '%s' of type '%s',
fb-source_name, 
eo_class_name_get(eo_class_get(fb-source)));
_filter_buffer_backing_free(fb);
-   fb-w = source-cur-geometry.w;
-   fb-h = source-cur-geometry.h;
if (!ctx-gl_engine)
  {
 fb-backing = source-proxy-surface;
@@ -232,8 +234,6 @@ evas_filter_context_proxy_render_all(Evas_Filter_Context 
*ctx, Eo *eo_obj,

[EGIT] [core/efl] master 22/38: Edje: Factorise filter code for TEXT and IMAGE

2015-06-25 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit a18107309dc5233e76b77016b6eb3ef09ddf25ec
Author: Jean-Philippe Andre jp.an...@samsung.com
Date:   Wed Jun 17 13:49:18 2015 +0900

Edje: Factorise filter code for TEXT and IMAGE

TODO: eo-ify the filter API properly and stabilize it.
---
 src/lib/edje/edje_calc.c | 166 ++-
 src/lib/edje/edje_data.c |   2 +
 src/lib/edje/edje_text.c | 104 -
 3 files changed, 167 insertions(+), 105 deletions(-)

diff --git a/src/lib/edje/edje_calc.c b/src/lib/edje/edje_calc.c
index c1e7e1b..30478a6 100644
--- a/src/lib/edje/edje_calc.c
+++ b/src/lib/edje/edje_calc.c
@@ -2403,6 +2403,165 @@ _edje_part_recalc_single_map(Edje *ed,
EINA_COW_CALC_MAP_END(params, params_write);
 }
 
+static inline const char *
+_edje_filter_get(Edje *ed, Edje_Part_Description_Spec_Filter *filter)
+{
+   if (EINA_UNLIKELY(!filter-checked_data))
+ {
+Edje_String *st;
+filter-checked_data = 1;
+st = eina_hash_find(ed-file-data, filter-code);
+if (st)
+  {
+ eina_stringshare_del(filter-code);
+ filter-code = st-str;
+ filter-no_free = 1;
+  }
+ }
+   return filter-code;
+}
+
+static void
+_edje_part_recalc_single_filter(Edje *ed,
+Edje_Real_Part *ep,
+Edje_Part_Description_Common *desc,
+Edje_Part_Description_Common *chosen_desc,
+double pos)
+{
+   Edje_Part_Description_Spec_Filter *filter;
+   Eina_List *filter_sources = NULL, *prev_sources = NULL;
+   const char *src1, *src2, *part, *code;
+   Evas_Object *obj = ep-object;
+   Eina_List *li1, *li2;
+   Eina_Bool im = 0;
+
+   /* handle TEXT and IMAGE part types here */
+   if (ep-part-type == EDJE_PART_TYPE_TEXT)
+ {
+Edje_Part_Description_Text *chosen_edt = (Edje_Part_Description_Text 
*) chosen_desc;
+Edje_Part_Description_Text *edt = (Edje_Part_Description_Text *) desc;
+filter = chosen_edt-text.filter;
+if (edt-text.filter.sources != filter-sources)
+  {
+ prev_sources = ep-typedata.text-filter.sources;
+ filter_sources = edt-text.filter.sources;
+  }
+#if 0
+// old form
+if (ep-typedata.text-filter.code)
+  filter = ep-typedata.text-filter;
+else
+  filter = chosen_edt-text.filter;
+if (ep-typedata.text-filter.sources != 
chosen_edt-text.filter.sources)
+  {
+ prev_sources = ep-typedata.text-filter.sources;
+ filter_sources = chosen_edt-text.filter.sources;
+ //ep-typedata.text-filter.sources = 
chosen_edt-text.filter.sources;
+  }
+#endif
+ }
+   else if (ep-part-type == EDJE_PART_TYPE_IMAGE)
+ {
+Edje_Part_Description_Image *chosen_edi = (Edje_Part_Description_Image 
*) chosen_desc;
+Edje_Part_Description_Image *edi = (Edje_Part_Description_Image *) 
desc;
+filter = chosen_edi-image.filter;
+if (edi-image.filter.sources != filter-sources)
+  {
+ prev_sources = edi-image.filter.sources;
+ filter_sources = chosen_edi-image.filter.sources;
+  }
+im = 1;
+ }
+   else
+ {
+CRI(Invalid call to filter recalc);
+return;
+ }
+
+   // FIXME: Implement proper EO interface/mixin and remove this ugly thing
+#define efl_gfx_filter_program_set(...) do { \
+   if (!im) evas_obj_text_filter_program_set(__VA_ARGS__); \
+   else evas_obj_text_filter_program_set(__VA_ARGS__); } while (0)
+#define efl_gfx_filter_source_set(...) do { \
+   if (!im) evas_obj_text_filter_source_set(__VA_ARGS__); \
+   else evas_obj_image_filter_source_set(__VA_ARGS__); } while (0)
+#define efl_gfx_filter_state_set(...) do { \
+   if (!im) evas_obj_text_filter_state_set(__VA_ARGS__); \
+   /* else evas_obj_image_filter_state_set(__VA_ARGS__); */ } while (0)
+   // End of pure ugliness
+
+   /* common code below */
+   code = _edje_filter_get(ed, filter);
+   if (!code)
+ {
+eo_do(obj, efl_gfx_filter_program_set(NULL));
+return;
+ }
+
+   eo_do(obj,
+ efl_gfx_filter_program_set(code);
+ if (prev_sources != filter_sources)
+   {
+  /* remove sources that are not there anymore
+   * this O(n^2) loop assumes a very small number of sources */
+  EINA_LIST_FOREACH(prev_sources, li1, src1)
+{
+   Eina_Bool found = 0;
+   EINA_LIST_FOREACH(filter_sources, li2, src2)
+ {
+if (!strcmp(src1, src2))
+  {
+ found = 1;
+ break;
+  }
+   

[EGIT] [core/efl] master 34/38: Evas filters: Add @protected tag where applicable

2015-06-25 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit c86a5edc9f4dbee7660166309d441790e9149e80
Author: Jean-Philippe Andre jp.an...@samsung.com
Date:   Tue Jun 23 17:25:44 2015 +0900

Evas filters: Add @protected tag where applicable

The Evas.Filter interface is basically just an internal thing.
---
 src/lib/evas/canvas/evas_filter.eo  | 14 +++---
 src/lib/evas/canvas/evas_filter_mixin.c |  2 ++
 src/lib/evas/canvas/evas_object_image.c |  2 ++
 src/lib/evas/canvas/evas_object_text.c  |  2 ++
 4 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/src/lib/evas/canvas/evas_filter.eo 
b/src/lib/evas/canvas/evas_filter.eo
index b461de9..5f8442f 100644
--- a/src/lib/evas/canvas/evas_filter.eo
+++ b/src/lib/evas/canvas/evas_filter.eo
@@ -3,7 +3,7 @@ mixin Evas.Filter (Efl.Gfx.Filter)
// Evas internal implementation
legacy_prefix: null;
methods {
-  @property changed {
+  @property changed @protected {
  set {
 [[Marks this filter as changed.]]
  }
@@ -11,7 +11,7 @@ mixin Evas.Filter (Efl.Gfx.Filter)
 val: bool;
  }
   }
-  @property invalid {
+  @property invalid @protected {
  set {
 [[Marks this filter as invalid.]]
  }
@@ -19,24 +19,24 @@ mixin Evas.Filter (Efl.Gfx.Filter)
 val: bool;
  }
   }
-  constructor {
+  constructor @protected {
  [[Initialize the Evas.Filter mixin.
 
Should be called in a parent's class constructor.
  ]]
   }
-  destructor {
+  destructor @protected {
  [[Release all data held by this Evas.Filter.
 
This may include image buffers allocated by the Evas engine.
This should be called at the beginning of a parent's class 
destructor.
  ]]
   }
-  input_alpha {
+  input_alpha @protected {
  [[Called by Evas.Filter to determine whether the input is alpha or 
rgba.]]
  return: bool;
   }
-  input_render {
+  input_render @protected {
  [[Called by Evas.Filter when the parent class must render the input.
  ;
  ]]
@@ -51,7 +51,7 @@ mixin Evas.Filter (Efl.Gfx.Filter)
 do_async: bool;
  }
   }
-  dirty {
+  dirty @protected {
  [[Called when the filter changes must trigger a redraw of the object.
 
Virtual, to be implemented in the parent class.
diff --git a/src/lib/evas/canvas/evas_filter_mixin.c 
b/src/lib/evas/canvas/evas_filter_mixin.c
index 70e37b0..046683b 100644
--- a/src/lib/evas/canvas/evas_filter_mixin.c
+++ b/src/lib/evas/canvas/evas_filter_mixin.c
@@ -1,3 +1,5 @@
+#define EVAS_FILTER_PROTECTED
+
 #include evas_common_private.h
 #include evas_private.h
 #include ../../lib/efl/interfaces/efl_gfx_filter.eo.h
diff --git a/src/lib/evas/canvas/evas_object_image.c 
b/src/lib/evas/canvas/evas_object_image.c
index 0446ede..807f27c 100644
--- a/src/lib/evas/canvas/evas_object_image.c
+++ b/src/lib/evas/canvas/evas_object_image.c
@@ -1,3 +1,5 @@
+#define EVAS_FILTER_PROTECTED
+
 #include evas_common_private.h
 
 #include sys/types.h
diff --git a/src/lib/evas/canvas/evas_object_text.c 
b/src/lib/evas/canvas/evas_object_text.c
index 21b91d9..1113791 100644
--- a/src/lib/evas/canvas/evas_object_text.c
+++ b/src/lib/evas/canvas/evas_object_text.c
@@ -1,3 +1,5 @@
+#define EVAS_FILTER_PROTECTED
+
 #include evas_common_private.h /* Includes evas_bidi_utils stuff. */
 #include evas_private.h
 

-- 




[EGIT] [core/efl] master 19/38: Edje/evas filters: Add filter.source support

2015-06-25 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit d00378edcf08deb6a34eeb9833a4d521ed6cca27
Author: Jean-Philippe Andre jp.an...@samsung.com
Date:   Tue Jun 16 14:50:43 2015 +0900

Edje/evas filters: Add filter.source support

This should preserve ABI stability with earlier versions of
edje_cc while still providing more advanced control over
proxy bindings for evas filters from EDC.

Also fix proxy binding for filters.

@feature
---
 src/bin/edje/edje_cc_handlers.c   | 194 ++
 src/lib/edje/edje_private.h   |   2 +-
 src/lib/edje/edje_text.c  |  65 --
 src/lib/evas/canvas/evas_object_text.c|  38 +++---
 src/lib/evas/filters/evas_filter_parser.c |   2 +-
 5 files changed, 197 insertions(+), 104 deletions(-)

diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c
index 2268190..53bf91e 100644
--- a/src/bin/edje/edje_cc_handlers.c
+++ b/src/bin/edje/edje_cc_handlers.c
@@ -362,6 +362,7 @@ static void 
st_collections_group_parts_part_description_text_source(void);
 static void st_collections_group_parts_part_description_text_text_source(void);
 static void st_collections_group_parts_part_description_text_ellipsis(void);
 static void st_collections_group_parts_part_description_text_filter(void);
+static void 
st_collections_group_parts_part_description_text_filter_source(void);
 static void st_collections_group_parts_part_description_box_layout(void);
 static void st_collections_group_parts_part_description_box_align(void);
 static void st_collections_group_parts_part_description_box_padding(void);
@@ -814,6 +815,8 @@ New_Statement_Handler statement_handlers[] =
  {collections.group.parts.part.description.text.elipsis, 
st_collections_group_parts_part_description_text_ellipsis},
  {collections.group.parts.part.description.text.ellipsis, 
st_collections_group_parts_part_description_text_ellipsis},
  {collections.group.parts.part.description.text.filter, 
st_collections_group_parts_part_description_text_filter},
+ {collections.group.parts.part.description.text.filter.code, 
st_collections_group_parts_part_description_text_filter}, /* dup */
+ {collections.group.parts.part.description.text.filter.source, 
st_collections_group_parts_part_description_text_filter_source},
  {collections.group.parts.part.description.box.layout, 
st_collections_group_parts_part_description_box_layout},
  {collections.group.parts.part.description.box.align, 
st_collections_group_parts_part_description_box_align},
  {collections.group.parts.part.description.box.padding, 
st_collections_group_parts_part_description_box_padding},
@@ -6696,15 +6699,18 @@ 
st_collections_group_parts_part_description_inherit(void)
   ted-text.domain = STRDUP(ted-text.domain);
   ted-text.text_class = STRDUP(ted-text.text_class);
   ted-text.font.str = STRDUP(ted-text.font.str);
-  ted-text.filter.code = STRDUP(ted-text.filter.code);
-  {
- Eina_List *l;
- Eina_Stringshare *name;
- static int part_key = 0;
 
- EINA_LIST_FOREACH(ted-text.filter.sources, l, name)
-   data_queue_part_lookup(pc, name, part_key);
-  }
+  /* Filters stuff */
+  ted-text.filter.code = STRDUP(ted-text.filter.code);
+  if (ted-text.filter.code)
+{
+   Eina_List *list, *l;
+   const char *name;
+   list = ted-text.filter.sources;
+   ted-text.filter.sources = NULL;
+   EINA_LIST_FOREACH(list, l, name)
+ ted-text.filter.sources = 
eina_list_append(ted-text.filter.sources, STRDUP(name));
+}
 
   data_queue_copied_part_nest_lookup(pc, 
(tparent-text.id_source), (ted-text.id_source), ted-text.id_source_part);
   data_queue_copied_part_nest_lookup(pc, 
(tparent-text.id_text_source), (ted-text.id_text_source), 
ted-text.id_text_source_part);
@@ -8979,31 +8985,88 @@ 
st_collections_group_parts_part_description_text_ellipsis(void)
 /**
 @page edcref
 
+@context
+part {
+type: TEXT; // or IMAGE
+description {
+..
+text {
+..
+filter {
+code: blend {} -- ...
+source: part1 buf;
+source: part2 otherbuf;
+source: part3;
+}
+// or as short form:
+filter: blend {} -- ...
+}
+..
+}
+}
 @property
-filter
+filter.code
 @parameters
 [filter program as a string]
 

[EGIT] [core/efl] master 30/38: Edje tests: Add test case for embedded text filters

2015-06-25 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 6ca1ce305bc9043561f040d52c85dd2781aaec4d
Author: Jean-Philippe Andre jp.an...@samsung.com
Date:   Tue Jun 23 12:38:32 2015 +0900

Edje tests: Add test case for embedded text filters
---
 src/Makefile_Edje.am | 15 ++---
 src/tests/edje/data/filter.lua   | 14 
 src/tests/edje/data/test_filters.edc | 62 
 src/tests/edje/edje_test_edje.c  | 35 
 4 files changed, 122 insertions(+), 4 deletions(-)

diff --git a/src/Makefile_Edje.am b/src/Makefile_Edje.am
index 596a02b..17e1cbc 100644
--- a/src/Makefile_Edje.am
+++ b/src/Makefile_Edje.am
@@ -284,22 +284,29 @@ tests/edje/data/%.edj: tests/edje/data/%.edc 
bin/edje/edje_cc${EXEEXT}
$(AM_V_EDJ) \
$(MKDIR_P) tests/edje/data; \
$(EDJE_CC) $(EDJE_CC_FLAGS) -id $(srcdir)/tests/edje/data \
-   -id $(srcdir)/tests/emotion/data $ $@
+   -id $(srcdir)/tests/emotion/data \
+   -dd $(srcdir)/tests/edje/data \
+   $ $@
 
 EDJE_DATA_FILES = tests/edje/data/test_layout.edc \
   tests/edje/data/complex_layout.edc \
   tests/edje/data/test_parens.edc \
-  tests/edje/data/test_masking.edc
+  tests/edje/data/test_masking.edc \
+  tests/edje/data/test_filters.edc \
+  tests/edje/data/filter.lua
 
 edjedatafilesdir = $(datadir)/edje/data
 edjedatafiles_DATA = tests/edje/data/test_layout.edj \
  tests/edje/data/complex_layout.edj \
  tests/edje/data/test_parens.edj \
- tests/edje/data/test_masking.edj
+ tests/edje/data/test_masking.edj \
+ tests/edje/data/test_filters.edj
+
 CLEANFILES += tests/edje/data/test_layout.edj \
   tests/edje/data/complex_layout.edj \
   tests/edje/data/test_parens.edj \
-  tests/edje/data/test_masking.edj
+  tests/edje/data/test_masking.edj \
+  tests/edje/data/test_filters.edj
 
 endif
 
diff --git a/src/tests/edje/data/filter.lua b/src/tests/edje/data/filter.lua
new file mode 100644
index 000..2ada51b
--- /dev/null
+++ b/src/tests/edje/data/filter.lua
@@ -0,0 +1,14 @@
+-- Evas filter program
+
+a = buffer { 'alpha' }
+b = buffer { src = 'mask' }
+
+padding_set(10)
+
+grow { 5, dst = a }
+blur { 6, src = a, color = state.color, ox = 1, oy = 1 }
+blur { 2, color = color({cc.r, cc.g, cc.b, cc.a }) }
+blend { color = mycolor, ox = 1, oy = 1 }
+
+mask { src = input, mask = b, color = 'cyan', fillmode = 'stretch_y_repeat_x' }
+
diff --git a/src/tests/edje/data/test_filters.edc 
b/src/tests/edje/data/test_filters.edc
new file mode 100644
index 000..df84c48
--- /dev/null
+++ b/src/tests/edje/data/test_filters.edc
@@ -0,0 +1,62 @@
+data {
+   file: filterfile filter.lua;
+}
+color_classes {
+   color_class {
+  name: cc1;
+  color: 0 0 255 255;
+  color2: 0 255 255 255;
+  color3: 0 0 255 255;
+   }
+}
+collections {
+   images {
+  // found in tests/emotion/data
+  image: pnl.png COMP;
+   }
+   group { name: test_group;
+  parts {
+ part { name: background;
+type: RECT;
+description { state: default 0.0;
+   color: 33 32 32 255;
+   rel1.relative: 0 0;
+   rel2.relative: 1 1;
+   max: 200 200;
+}
+ }
+ part { name: mask;
+type: IMAGE;
+no_render: 1; 
+description { state: default 0.0;
+   rel1.relative: 0 0;
+   rel2.relative: 1 1;
+   rel.to: text;
+   max: 999 50;
+   image.normal: pnl.png;
+}
+ }
+ part { name: text;
+type: TEXT;
+description { state: default 0.0;
+   rel1.relative: 0 0;
+   rel2.relative: 1 1;
+   rel1.to: background;
+   rel2.to: background;
+   text {
+  text: FILTER;
+  font: Sans;
+  size: 48;
+   }
+   filter {
+  code: filterfile;
+  source: mask;
+  data: mycolor #f0f8; 
+  data: cc color_class('cc1');
+   }
+   color: 255 80 0 200;
+}
+ }
+  }
+   }
+}
diff --git a/src/tests/edje/edje_test_edje.c b/src/tests/edje/edje_test_edje.c
index 88cc3fc..4c80b36 100644
--- a/src/tests/edje/edje_test_edje.c
+++ b/src/tests/edje/edje_test_edje.c
@@ -203,6 +203,40 @@ START_TEST(edje_test_masking)
 }
 END_TEST
 
+START_TEST(edje_test_filters)
+{
+   Evas *evas = EDJE_TEST_INIT_EVAS();
+   const Evas_Object *text, *sub;
+   Evas_Object *obj, *src = NULL;
+   const char *prg, *name;
+   Eina_Bool b;

[EGIT] [core/efl] master 27/38: Edje evas filters: Add extra data from EDC to Lua program

2015-06-25 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 0e8f890dfbdb188d02857b2bcf64d35089f3a297
Author: Jean-Philippe Andre jp.an...@samsung.com
Date:   Mon Jun 22 21:52:16 2015 +0900

Edje  evas filters: Add extra data from EDC to Lua program

This also supports color classes (really rough implementation for
now, but the API should remain stable).

@feature
---
 src/bin/edje/edje_cc_handlers.c   | 52 ++
 src/lib/edje/edje_calc.c  | 61 +++
 src/lib/edje/edje_data.c  |  2 +
 src/lib/edje/edje_private.h   |  1 +
 src/lib/efl/interfaces/efl_gfx_filter.eo  |  9 +
 src/lib/evas/canvas/evas_filter_mixin.c   | 30 +++
 src/lib/evas/canvas/evas_object_main.c|  2 +-
 src/lib/evas/filters/evas_filter_parser.c | 26 +
 src/lib/evas/include/evas_filter.h|  1 +
 src/lib/evas/include/evas_private.h   |  1 +
 10 files changed, 184 insertions(+), 1 deletion(-)

diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c
index 8954f08..f6458f8 100644
--- a/src/bin/edje/edje_cc_handlers.c
+++ b/src/bin/edje/edje_cc_handlers.c
@@ -396,6 +396,7 @@ static void 
st_collections_group_parts_part_description_mesh_assembly(void);
 static void st_collections_group_parts_part_description_mesh_geometry(void);
 static void st_collections_group_parts_part_description_filter_code(void);
 static void st_collections_group_parts_part_description_filter_source(void);
+static void st_collections_group_parts_part_description_filter_data(void);
 
 #ifdef HAVE_EPHYSICS
 static void st_collections_group_parts_part_description_physics_mass(void);
@@ -849,6 +850,7 @@ New_Statement_Handler statement_handlers[] =
  {collections.group.parts.part.description.mesh.geometry, 
st_collections_group_parts_part_description_mesh_geometry},
  {collections.group.parts.part.description.filter.code, 
st_collections_group_parts_part_description_filter_code},
  {collections.group.parts.part.description.filter.source, 
st_collections_group_parts_part_description_filter_source},
+ {collections.group.parts.part.description.filter.data, 
st_collections_group_parts_part_description_filter_data},
 
 #ifdef HAVE_EPHYSICS
  {collections.group.parts.part.description.physics.mass, 
st_collections_group_parts_part_description_physics_mass},
@@ -11649,6 +11651,56 @@ 
st_collections_group_parts_part_description_filter_source(void)
free(name);
 }
 
+/**
+@page edcref
+
+@property
+filter.data
+@parameters
+[name] [content]
+@effect
+Pass extra data to the Lua filter program. This can be used to pass
+extra colors from a color_class using the following syntax:
+  filter.data: mycc color_class('my_color_class');
+If not a color class, the data will simply be set as a string attached
+to the global variable 'name' in the Lua program.
+For more information, please refer to the page Evas filters 
reference.
+@see evasfiltersref
+@endproperty
+*/
+static void
+st_collections_group_parts_part_description_filter_data(void)
+{
+   Edje_Part_Description_Spec_Filter *filter;
+   char *name, *value;
+
+   if (current_part-type == EDJE_PART_TYPE_TEXT)
+ filter = (((Edje_Part_Description_Text *)current_desc)-text.filter);
+   else if (current_part-type == EDJE_PART_TYPE_IMAGE)
+ filter = (((Edje_Part_Description_Image *)current_desc)-image.filter);
+   else
+ {
+ERR(parse error %s:%i. filter set for non-TEXT and non-IMAGE part.,
+file_in, line - 1);
+exit(-1);
+ }
+
+   check_arg_count(2);
+
+   if (!filter-data)
+ filter-data = eina_hash_string_small_new(EINA_FREE_CB(free));
+
+   name = parse_str(0);
+   value = parse_str(1);
+   if (eina_hash_find(filter-data, name))
+ {
+ERR(parse error %s:%i. filter.data '%s' already exists in this 
context,
+file_in, line - 1, name);
+exit(-1);
+ }
+
+   eina_hash_add(filter-data, name, value);
+}
 
 /** @edcsubsection{collections_group_parts_descriptions_params,
  * Group.Parts.Part.Description.Params} */
diff --git a/src/lib/edje/edje_calc.c b/src/lib/edje/edje_calc.c
index 48a4d81..b506ef1 100644
--- a/src/lib/edje/edje_calc.c
+++ b/src/lib/edje/edje_calc.c
@@ -2535,6 +2535,67 @@ _edje_part_recalc_single_filter(Edje *ed,
   efl_gfx_filter_state_set(chosen_desc-state.name, 
chosen_desc-state.value,
NULL, 0.0, pos);
}
+ /* pass extra data items */
+ if (filter-data)
+   {
+  Eina_Iterator *it = eina_hash_iterator_tuple_new(filter-data);
+  Eina_Hash_Tuple *tup;
+  EINA_ITERATOR_FOREACH(it, tup)
+{
+   const char 

[EGIT] [core/efl] master 28/38: Evas filters: Fix buffer_push and add support for color classes

2015-06-25 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 0df37da435150bc84ae46e77cb9949e6ca489ada
Author: Jean-Philippe Andre jp.an...@samsung.com
Date:   Tue Jun 23 11:44:54 2015 +0900

Evas filters: Fix buffer_push and add support for color classes

Makes sure that buffers don't override already existing
globals vars such as 'mask' (a function name). Yeah, it happened
to me.

CC support is a little bit hackish. Need to find a better way.
---
 src/lib/evas/filters/evas_filter_parser.c | 32 +++
 1 file changed, 28 insertions(+), 4 deletions(-)

diff --git a/src/lib/evas/filters/evas_filter_parser.c 
b/src/lib/evas/filters/evas_filter_parser.c
index 6b4b8d3..2352d5d 100644
--- a/src/lib/evas/filters/evas_filter_parser.c
+++ b/src/lib/evas/filters/evas_filter_parser.c
@@ -2297,7 +2297,19 @@ _filter_program_buffers_set(Evas_Filter_Program *pgm)
 const char *source;
 
 EINA_ITERATOR_FOREACH(it, source)
-  _buffer_add(pgm, source, EINA_FALSE, source, EINA_FALSE);
+  {
+ // Cleanup name and avoid overriding existing globals
+ char name[64];
+ unsigned i;
+ snprintf(name, 64, __source_%s, source);
+ name[63] = '\0';
+ for (i = 0; name[i]; i++)
+   {
+  if (!isdigit(name[i])  !isalpha(name[i]))
+name[i] = '_';
+   }
+ _buffer_add(pgm, name, EINA_FALSE, source, EINA_FALSE);
+  }
 
 eina_iterator_free(it);
  }
@@ -2631,10 +2643,22 @@ _filter_program_state_set(Evas_Filter_Program *pgm)
  const char *name = tup-key;
  const char *value = tup-data;
  if (value)
-   lua_pushstring(L, value);
+   {
+  if ((value[0] == '-')  (value[1] == '-')  value[2] == 
'\n')
+{
+   int i = luaL_dostring(L, value);
+   ERR(i %d, i);
+}
+  else
+{
+   lua_pushstring(L, value);
+   lua_setglobal(L, name);
+}
+   }
  else
-   lua_pushnil(L);
- lua_setglobal(L, name);
+   {
+  lua_pushnil(L);
+   }
   }
 eina_iterator_free(it);
  }

-- 




[EGIT] [core/efl] master 32/38: Evas filters: Remove overrides of methods from Evas.Filter

2015-06-25 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit f4825006b0994074dacd594b3d239305b4e7963e
Author: Jean-Philippe Andre jp.an...@samsung.com
Date:   Tue Jun 23 15:21:45 2015 +0900

Evas filters: Remove overrides of methods from Evas.Filter

Welp that was stupid to add them in the first place...
---
 src/lib/evas/canvas/evas_image.eo   |  4 
 src/lib/evas/canvas/evas_object_image.c | 26 --
 src/lib/evas/canvas/evas_object_text.c  | 26 --
 src/lib/evas/canvas/evas_text.eo|  4 
 4 files changed, 60 deletions(-)

diff --git a/src/lib/evas/canvas/evas_image.eo 
b/src/lib/evas/canvas/evas_image.eo
index 9d387b5..cec824a 100644
--- a/src/lib/evas/canvas/evas_image.eo
+++ b/src/lib/evas/canvas/evas_image.eo
@@ -938,10 +938,6 @@ class Evas.Image (Evas.Object, Efl.File, Efl.Image, 
Efl.Gfx.Fill, Efl.Gfx.View,
   Efl.Gfx.View.size.set;
   Efl.Gfx.View.size.get;
   Efl.Gfx.Filter.program.set;
-  Efl.Gfx.Filter.program.get;
-  Efl.Gfx.Filter.source_set;
-  Efl.Gfx.Filter.source_get;
-  Efl.Gfx.Filter.state.set;
   Evas.Filter.input_alpha;
   Evas.Filter.input_render;
   Evas.Filter.dirty;
diff --git a/src/lib/evas/canvas/evas_object_image.c 
b/src/lib/evas/canvas/evas_object_image.c
index 7fa102f..0446ede 100644
--- a/src/lib/evas/canvas/evas_object_image.c
+++ b/src/lib/evas/canvas/evas_object_image.c
@@ -4735,30 +4735,4 @@ _evas_image_efl_gfx_filter_program_set(Eo *obj, 
Evas_Image_Data *pd EINA_UNUSED,
eo_do_super(obj, MY_CLASS, efl_gfx_filter_program_set(code, name));
 }
 
-EOLIAN void
-_evas_image_efl_gfx_filter_program_get(Eo *obj, Evas_Image_Data *pd 
EINA_UNUSED, const char **code, const char **name)
-{
-   eo_do_super(obj, MY_CLASS, efl_gfx_filter_program_get(code, name));
-}
-
-EOLIAN void
-_evas_image_efl_gfx_filter_source_set(Eo *obj, Evas_Image_Data *pd 
EINA_UNUSED, const char *name, Efl_Gfx_Base *source)
-{
-   eo_do_super(obj, MY_CLASS, efl_gfx_filter_source_set(name, source));
-}
-
-EOLIAN void
-_evas_image_efl_gfx_filter_source_get(Eo *obj, Evas_Image_Data *pd 
EINA_UNUSED, const char *name, Efl_Gfx_Base **source)
-{
-   eo_do_super(obj, MY_CLASS, efl_gfx_filter_source_get(name, source));
-}
-
-EOLIAN void
-_evas_image_efl_gfx_filter_state_set(Eo *obj, Evas_Image_Data *pd EINA_UNUSED,
-const char *cur_state, double cur_val,
-const char *next_state, double next_val, 
double pos)
-{
-   eo_do_super(obj, MY_CLASS, efl_gfx_filter_state_set(cur_state, cur_val, 
next_state, next_val, pos));
-}
-
 #include canvas/evas_image.eo.c
diff --git a/src/lib/evas/canvas/evas_object_text.c 
b/src/lib/evas/canvas/evas_object_text.c
index 89f2523..21b91d9 100644
--- a/src/lib/evas/canvas/evas_object_text.c
+++ b/src/lib/evas/canvas/evas_object_text.c
@@ -2233,30 +2233,4 @@ _evas_text_efl_gfx_filter_program_set(Eo *obj, 
Evas_Text_Data *pd EINA_UNUSED, c
eo_do_super(obj, MY_CLASS, efl_gfx_filter_program_set(code, name));
 }
 
-EOLIAN void
-_evas_text_efl_gfx_filter_program_get(Eo *obj, Evas_Text_Data *pd EINA_UNUSED, 
const char **code, const char **name)
-{
-   eo_do_super(obj, MY_CLASS, efl_gfx_filter_program_get(code, name));
-}
-
-EOLIAN void
-_evas_text_efl_gfx_filter_source_set(Eo *obj, Evas_Text_Data *pd EINA_UNUSED, 
const char *name, Efl_Gfx_Base *source)
-{
-   eo_do_super(obj, MY_CLASS, efl_gfx_filter_source_set(name, source));
-}
-
-EOLIAN void
-_evas_text_efl_gfx_filter_source_get(Eo *obj, Evas_Text_Data *pd EINA_UNUSED, 
const char *name, Efl_Gfx_Base **source)
-{
-   eo_do_super(obj, MY_CLASS, efl_gfx_filter_source_get(name, source));
-}
-
-EOLIAN void
-_evas_text_efl_gfx_filter_state_set(Eo *obj, Evas_Text_Data *pd EINA_UNUSED,
-const char *cur_state, double cur_val,
-const char *next_state, double next_val, 
double pos)
-{
-   eo_do_super(obj, MY_CLASS, efl_gfx_filter_state_set(cur_state, cur_val, 
next_state, next_val, pos));
-}
-
 #include canvas/evas_text.eo.c
diff --git a/src/lib/evas/canvas/evas_text.eo b/src/lib/evas/canvas/evas_text.eo
index c21b2c4..8cdb204 100644
--- a/src/lib/evas/canvas/evas_text.eo
+++ b/src/lib/evas/canvas/evas_text.eo
@@ -327,10 +327,6 @@ class Evas.Text (Evas.Object, Efl.Text, 
Efl.Text_Properties, Evas.Filter)
   Efl.Text_Properties.font_source.get;
   Efl.Text_Properties.font_source.set;
   Efl.Gfx.Filter.program.set;
-  Efl.Gfx.Filter.program.get;
-  Efl.Gfx.Filter.source_set;
-  Efl.Gfx.Filter.source_get;
-  Efl.Gfx.Filter.state.set;
   Evas.Filter.input_alpha;
   Evas.Filter.input_render;
   Evas.Filter.dirty;

-- 




[EGIT] [core/efl] master 31/38: Evas tests: Fix failing tests

2015-06-25 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 068b9d5a5fca1761be2e63e136180c70cded18ef
Author: Jean-Philippe Andre jp.an...@samsung.com
Date:   Tue Jun 23 12:38:53 2015 +0900

Evas tests: Fix failing tests

Syntax error in C and in Lua code.
---
 src/tests/evas/evas_test_filters.c | 14 +++---
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/tests/evas/evas_test_filters.c 
b/src/tests/evas/evas_test_filters.c
index 2758940..a5528df 100644
--- a/src/tests/evas/evas_test_filters.c
+++ b/src/tests/evas/evas_test_filters.c
@@ -282,11 +282,11 @@ static struct Filter_Test_Case _test_cases[] = {
{ 5, 5, 5, 5, a = buffer ({ 'alpha' }) blur ({ 5,dst = a }) bump ({ a, 
azimuth = 45.0, color = 'yellow' }), NULL },
 
// Proxy tests  ({ RECT as a proxy object })
-   { 0, 0, 0, 0, m = buffer ({ src = rect }) mask ({ m, fillmode = 'none' 
}), rect },
-   { 0, 0, 0, 0, m = buffer ({ src = rect }) mask ({ m, fillmode = 
'repeat_x_stretch_y' }), rect },
-   { 0, 0, 0, 0, m = buffer ({ src = rect }) mask ({ m, fillmode = 'repeat' 
}), rect },
-   { 0, 0, 0, 0, m = buffer ({ src = rect }) mask ({ m, fillmode = 'stretch' 
}), rect },
-   { 0, 0, 0, 0, m = buffer ({ src = rect }) b = buffer ({ 'rgba' }) blend ({ 
m,dst = b, fillmode = 'repeat_x_stretch_y' }) blend (), rect },
+   { 0, 0, 0, 0, m = buffer ({ src = 'rect' }) mask ({ m, fillmode = 'none' 
}), rect },
+   { 0, 0, 0, 0, m = buffer ({ src = 'rect' }) mask ({ m, fillmode = 
'repeat_x_stretch_y' }), rect },
+   { 0, 0, 0, 0, m = buffer ({ src = 'rect' }) mask ({ m, fillmode = 'repeat' 
}), rect },
+   { 0, 0, 0, 0, m = buffer ({ src = 'rect' }) mask ({ m, fillmode = 
'stretch' }), rect },
+   { 0, 0, 0, 0, m = buffer ({ src = 'rect' }) b = buffer ({ 'rgba' }) blend 
({ m,dst = b, fillmode = 'repeat_x_stretch_y' }) blend (), rect },
 
// Padding_set
{ 11, 22, 33, 44, padding_set ({ 11,22,33,44 }) blend ()}
@@ -400,13 +400,13 @@ START_TEST(evas_filter_text_render_test)
  eo_do(to,
efl_gfx_color_set(255, 255, 255, 255),
efl_gfx_filter_source_set(tc-source, o),
-   efl_gfx_filter_program_set(tc-code, , evas_test_filter));
+   efl_gfx_filter_program_set(tc-code, evas_test_filter));
   }
 else
   {
  eo_do(to,
efl_gfx_color_set(255, 255, 255, 255),
-   efl_gfx_filter_program_set(tc-code, , evas_test_filter));
+   efl_gfx_filter_program_set(tc-code, evas_test_filter));
   }
 
 evas_object_geometry_get(to, NULL, NULL, w, h);

-- 




[EGIT] [core/efl] master 12/38: Evas filters: Pass object scale to Lua state

2015-06-25 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 4ade39c0ea5ef7ea3716c67841801f8eacf6c31c
Author: Jean-Philippe Andre jp.an...@samsung.com
Date:   Thu May 28 15:59:10 2015 +0900

Evas filters: Pass object scale to Lua state
---
 src/lib/evas/filters/evas_filter_parser.c | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/lib/evas/filters/evas_filter_parser.c 
b/src/lib/evas/filters/evas_filter_parser.c
index 0972e7c..c27569d 100644
--- a/src/lib/evas/filters/evas_filter_parser.c
+++ b/src/lib/evas/filters/evas_filter_parser.c
@@ -342,6 +342,7 @@ struct _Evas_Filter_Program_State
} text;
struct { int a, r, g, b; } color;
int w, h;
+   double scale;
 };
 
 struct _Evas_Filter_Program
@@ -2533,7 +2534,7 @@ _filter_program_state_set(Evas_Filter_Program *pgm)
 */
 
 #define JOINC(k) ARGB_JOIN(pgm-state.k.a, pgm-state.k.r, pgm-state.k.g, 
pgm-state.k.b)
-#define SETFIELD(name, val) do { lua_pushinteger(L, val); lua_setfield(L, -2, 
name); } while(0)
+#define SETFIELD(name, val) do { lua_pushnumber(L, val); lua_setfield(L, -2, 
name); } while(0)
 
// TODO: Mark program as dependent on some values so we can improve
// the changed flag (ie. re-run the filter only when required)
@@ -2543,6 +2544,7 @@ _filter_program_state_set(Evas_Filter_Program *pgm)
lua_newtable(L); // state
{
   SETFIELD(color, JOINC(color));
+  SETFIELD(scale, pgm-state.scale);
   lua_newtable(L); // text
   {
  SETFIELD(outline, JOINC(text.outline));
@@ -2765,6 +2767,7 @@ evas_filter_program_new(const char *name, Eina_Bool 
input_alpha)
pgm-state.color.g = 255;
pgm-state.color.b = 255;
pgm-state.color.a = 255;
+   pgm-state.scale = 1.0;
 
return pgm;
 }
@@ -2781,6 +2784,7 @@ evas_filter_program_state_set(Evas_Filter_Program *pgm, 
Evas_Object *eo_obj,
 
pgm-state.w = obj-cur-geometry.w;
pgm-state.h = obj-cur-geometry.h;
+   pgm-state.scale = obj-cur-scale;
 
eo_do(eo_obj,
  efl_gfx_color_get(pgm-state.color.r,

-- 




  1   2   >