[EGIT] [core/elementary] master 01/01: ctxpopup: add a new api for ctxpopup which makes ctxpopup not to hide automatically

2014-02-09 Thread Bora Hwang
seoz pushed a commit to branch master.

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

commit f086ac9a971198d9991edee43d3c5db50a0db9da
Author: Bora Hwang bora1.hw...@samsung.com
Date:   Sun Feb 9 18:11:47 2014 +0900

ctxpopup: add a new api for ctxpopup which makes ctxpopup not to hide 
automatically

Summary:
Developer can use this API for the case when he/she wants ctxpopup not to 
hide
automatically when parent of ctxpopup is resized or language is changed.
Default value of disabled is EINA_FALSE. So if user sets disabled 
EINA_TRUE
and parent size changes, ctxpopup recalculates its size and position.
Since size of bg is set when setting parent only, it should be resized 
again.

Reviewers: Hermet, seoz, thiepha, raster

CC: c

Differential Revision: https://phab.enlightenment.org/D510
---
 src/bin/test_ctxpopup.c   | 29 
 src/lib/elc_ctxpopup.c| 63 +++
 src/lib/elc_ctxpopup_eo.h | 30 +
 src/lib/elc_ctxpopup_legacy.h | 34 +++
 src/lib/elm_widget_ctxpopup.h |  1 +
 5 files changed, 152 insertions(+), 5 deletions(-)

diff --git a/src/bin/test_ctxpopup.c b/src/bin/test_ctxpopup.c
index 99f961e..4f807f6 100644
--- a/src/bin/test_ctxpopup.c
+++ b/src/bin/test_ctxpopup.c
@@ -35,6 +35,7 @@ _print_current_dir(Evas_Object *obj)
  printf(ctxpopup direction: unknow!\n);
  break;
  }
+ printf( [%s : %d] auto_hide_mode=%d\n, __func__, __LINE__, 
elm_ctxpopup_auto_hide_disabled_get(obj));
 }
 
 static void
@@ -324,6 +325,32 @@ _list_item_cb7(void *data EINA_UNUSED, Evas_Object *obj, 
void *event_info EINA_U
 }
 
 static void
+_list_item_cb8(void *data EINA_UNUSED, Evas_Object *obj, void *event_info 
EINA_UNUSED)
+{
+   Evas_Object *ctxpopup;
+   Elm_Object_Item *it = NULL;
+   Evas_Coord x,y;
+
+   if (list_mouse_down  0) return;
+
+   ctxpopup = elm_ctxpopup_add(obj);
+   evas_object_smart_callback_add(ctxpopup, dismissed, _dismissed, NULL);
+   elm_ctxpopup_auto_hide_disabled_set(ctxpopup, EINA_TRUE);
+
+   _ctxpopup_item_new(ctxpopup, Go to home folder, home);
+   _ctxpopup_item_new(ctxpopup, Save file, file);
+   _ctxpopup_item_new(ctxpopup, Delete file, delete);
+   it = _ctxpopup_item_new(ctxpopup, Navigate to folder, folder);
+   elm_object_item_disabled_set(it, EINA_TRUE);
+   _ctxpopup_item_new(ctxpopup, Edit entry, edit);
+
+   evas_pointer_canvas_xy_get(evas_object_evas_get(obj), x, y);
+   evas_object_move(ctxpopup, x, y);
+   evas_object_show(ctxpopup);
+   _print_current_dir(ctxpopup);
+}
+
+static void
 _list_clicked(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void 
*event_info)
 {
elm_list_item_selected_set(event_info, EINA_FALSE);
@@ -380,6 +407,8 @@ test_ctxpopup(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_
 _list_item_cb6, NULL);
elm_list_item_append(list, Ctxpopup with callback function, NULL, NULL,
 _list_item_cb7, NULL);
+   elm_list_item_append(list, Ctxpopup with auto hide disabled mode, NULL, 
NULL,
+_list_item_cb8, NULL);
evas_object_show(list);
elm_list_go(list);
 
diff --git a/src/lib/elc_ctxpopup.c b/src/lib/elc_ctxpopup.c
index eb691c8..891fa49 100644
--- a/src/lib/elc_ctxpopup.c
+++ b/src/lib/elc_ctxpopup.c
@@ -39,7 +39,7 @@ _elm_ctxpopup_smart_translate(Eo *obj, void *_pd, va_list 
*list)
Eina_List *l;
Elm_Ctxpopup_Item *it;
 
-   evas_object_hide(obj);
+   if (sd-auto_hide) evas_object_hide(obj);
 
EINA_LIST_FOREACH(sd-items, l, it)
  elm_widget_item_translate(it);
@@ -634,7 +634,7 @@ static void
 _elm_ctxpopup_smart_sizing_eval(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
 {
Evas_Coord_Rectangle rect = { 0, 0, 1, 1 };
-   Evas_Coord_Point list_size = { 0, 0 };
+   Evas_Coord_Point list_size = { 0, 0 }, parent_size = {0, 0};
 
Elm_Ctxpopup_Smart_Data *sd = _pd;
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
@@ -660,6 +660,9 @@ _elm_ctxpopup_smart_sizing_eval(Eo *obj, void *_pd, va_list 
*list EINA_UNUSED)
   }
  }
 
+   evas_object_geometry_get(sd-parent, NULL, NULL, parent_size.x, 
parent_size.y);
+   evas_object_resize(sd-bg, parent_size.x, parent_size.y);
+
evas_object_move(wd-resize_obj, rect.x, rect.y);
evas_object_resize(wd-resize_obj, rect.w, rect.h);
 
@@ -696,10 +699,18 @@ _on_parent_resize(void *data,
 {
ELM_CTXPOPUP_DATA_GET(data, sd);
 
-   sd-dir = ELM_CTXPOPUP_DIRECTION_UNKNOWN;
+   if (sd-auto_hide)
+ {
+sd-dir = ELM_CTXPOPUP_DIRECTION_UNKNOWN;
 
-   evas_object_hide(data);
-   evas_object_smart_callback_call(data, SIG_DISMISSED, NULL);
+evas_object_hide(data);
+evas_object_smart_callback_call(data, SIG_DISMISSED, NULL);
+ }
+   else
+ {
+if (sd-visible)
+  elm_layout_sizing_eval(data);
+ }
 }
 
 static 

[EGIT] [core/elementary] master 01/01: config - feature add - audio muting config and controls

2014-02-09 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 5680efe581fb243699948fbb6cd3bff96cf68854
Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
Date:   Sun Feb 9 19:12:12 2014 +0900

config - feature add - audio muting config and controls
---
 config/default/base.src  |  8 
 config/mobile/base.src   |  8 
 config/standard/base.src |  8 
 src/bin/config.c | 66 +
 src/lib/elm_config.c | 96 
 src/lib/elm_config.h | 50 +
 src/lib/elm_priv.h   |  8 
 7 files changed, 244 insertions(+)

diff --git a/config/default/base.src b/config/default/base.src
index db85956..124f5bf 100644
--- a/config/default/base.src
+++ b/config/default/base.src
@@ -80,6 +80,14 @@ group Elm_Config struct {
   value auto_throttle_amount double: 0.1;
   value magnifier_enable uchar: 1;
   value magnifier_scale double: 1.5;
+  value audio_mute_effect uchar: 0;
+  value audio_mute_background uchar: 0;
+  value audio_mute_music uchar: 0;
+  value audio_mute_foreground uchar: 0;
+  value audio_mute_interface uchar: 0;
+  value audio_mute_input uchar: 0;
+  value audio_mute_alert uchar: 0;
+  value audio_mute_all uchar: 0;
   group color_palette list {
  group Elm_Custom_Palette struct {
 value palette_name string: default;
diff --git a/config/mobile/base.src b/config/mobile/base.src
index afc58e1..f634b1d 100644
--- a/config/mobile/base.src
+++ b/config/mobile/base.src
@@ -84,6 +84,14 @@ group Elm_Config struct {
   value indicator_service_270 string: elm_indicator_landscape;
   value magnifier_enable uchar: 1;
   value magnifier_scale double: 1.5;
+  value audio_mute_effect uchar: 0;
+  value audio_mute_background uchar: 0;
+  value audio_mute_music uchar: 0;
+  value audio_mute_foreground uchar: 0;
+  value audio_mute_interface uchar: 0;
+  value audio_mute_input uchar: 0;
+  value audio_mute_alert uchar: 0;
+  value audio_mute_all uchar: 0;
   group color_palette list {
  group Elm_Custom_Palette struct {
 value palette_name string: default;
diff --git a/config/standard/base.src b/config/standard/base.src
index 8bd58ae..cf61b79 100644
--- a/config/standard/base.src
+++ b/config/standard/base.src
@@ -81,6 +81,14 @@ group Elm_Config struct {
   value auto_throttle_amount double: 0.03;
   value magnifier_enable uchar: 0;
   value magnifier_scale double: 1.5;
+  value audio_mute_effect uchar: 0;
+  value audio_mute_background uchar: 0;
+  value audio_mute_music uchar: 0;
+  value audio_mute_foreground uchar: 0;
+  value audio_mute_interface uchar: 0;
+  value audio_mute_input uchar: 0;
+  value audio_mute_alert uchar: 0;
+  value audio_mute_all uchar: 0;
   group color_palette list {
  group Elm_Custom_Palette struct {
 value palette_name string: default;
diff --git a/src/bin/config.c b/src/bin/config.c
index db94b68..70b8ecc 100644
--- a/src/bin/config.c
+++ b/src/bin/config.c
@@ -951,6 +951,14 @@ _cf_caches(void*data,
 }
 
 static void
+_cf_audio(void *data,
+Evas_Object *obj EINA_UNUSED,
+void *event_info EINA_UNUSED)
+{
+   _flip_to(data,audio);
+}
+
+static void
 _cf_etc(void *data,
 Evas_Object *obj EINA_UNUSED,
 void *event_info EINA_UNUSED)
@@ -1463,6 +1471,62 @@ _status_config_sizing(Evas_Object *win,
elm_naviframe_item_simple_push(naviframe, bx);
 }
 
+#define MUTE_CB(_cb, _chan) \
+static void \
+_cb(void *data   EINA_UNUSED, \
+Evas_Object *obj, \
+void *event_info EINA_UNUSED) \
+{ \
+   Eina_Bool val = elm_check_state_get(obj); \
+   Eina_Bool v = elm_config_audio_mute_get(_chan); \
+   if (val == v) return; \
+   elm_config_audio_mute_set(_chan, val); \
+   elm_config_all_flush(); \
+}
+
+MUTE_CB(mute_effect_change, EDJE_CHANNEL_EFFECT)
+MUTE_CB(mute_background_change, EDJE_CHANNEL_BACKGROUND)
+MUTE_CB(mute_music_change, EDJE_CHANNEL_MUSIC)
+MUTE_CB(mute_foreground_change, EDJE_CHANNEL_FOREGROUND)
+MUTE_CB(mute_interface_change, EDJE_CHANNEL_INTERFACE)
+MUTE_CB(mute_input_change, EDJE_CHANNEL_INPUT)
+MUTE_CB(mute_alert_change, EDJE_CHANNEL_ALERT)
+MUTE_CB(mute_all_change, EDJE_CHANNEL_ALL)
+
+static void
+_status_config_audio(Evas_Object *win,
+ Evas_Object *naviframe)
+{
+   Evas_Object *bx, *ck;
+
+   bx = elm_box_add(win);
+   evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, 0.0);
+   evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, 0.5);
+
+#define MUTE_CHECK(_label, _chan, _cb)  \
+   ck = elm_check_add(win); \
+   elm_object_text_set(ck, _label); \
+   evas_object_size_hint_weight_set(ck, EVAS_HINT_EXPAND, 0.0); \
+   evas_object_size_hint_align_set(ck, EVAS_HINT_FILL, 0.5); \
+   elm_check_state_set(ck, elm_config_audio_mute_get(_chan)); \
+   elm_box_pack_end(bx, ck); \
+   evas_object_show(ck); \
+   evas_object_smart_callback_add(ck, 

[EGIT] [core/efl] master 02/02: edje - feature - add channel types for sounds and ability to mute them

2014-02-09 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit db1990020a9039d867bf620d9f9463dda443f31e
Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
Date:   Sun Feb 9 19:08:12 2014 +0900

edje - feature - add channel types for sounds and ability to mute them

this adds a new feature to be able to assign a sample to a given
type of audio channel, and then to be able to mute these from code.
---
 data/edje/include/edje.inc  |  4 +--
 src/bin/edje/edje_cc_handlers.c | 14 +++-
 src/lib/edje/Edje_Common.h  | 71 +
 src/lib/edje/edje_data.c|  1 +
 src/lib/edje/edje_embryo.c  | 22 +
 src/lib/edje/edje_multisense.c  | 53 +++---
 src/lib/edje/edje_private.h |  6 ++--
 src/lib/edje/edje_program.c |  4 +--
 8 files changed, 157 insertions(+), 18 deletions(-)

diff --git a/data/edje/include/edje.inc b/data/edje/include/edje.inc
index 1cf7b89..828380b 100644
--- a/data/edje/include/edje.inc
+++ b/data/edje/include/edje.inc
@@ -235,8 +235,8 @@ native set_state_val(part_id, State_Param:p, ...);
 native get_state_val(part_id, State_Param:p, ...);
 
 /* Multisense */
-native   play_sample  (sample_name[], Float:speed);
-native   play_tone(tone_name[], Float:duration);
+native   play_sample  (sample_name[], Float:speed, ...);
+native   play_tone(tone_name[], Float:duration, ...);
 
 /***/
 /* Edje physics calls. */
diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c
index 0ea056d..dda4116 100644
--- a/src/bin/edje/edje_cc_handlers.c
+++ b/src/bin/edje/edje_cc_handlers.c
@@ -9126,7 +9126,7 @@ st_collections_group_programs_program_in(void)
action: FOCUS_OBJECT;\n
action: PARAM_COPY src_part src_param dst_part dst_param;\n
action: PARAM_SET part param value;\n
-   action: PLAY_SAMPLE sample name speed (speed of sample - 1.0 is 
original speed - faster is higher pitch);\n
+   action: PLAY_SAMPLE sample name speed (speed of sample - 1.0 is 
original speed - faster is higher pitch) [channel optional EFFECT/FX | 
BACKGROUND/BG | MUSIC/MUS | FOREGROUND/FG | INTERFACE/UI | INPUT | ALERT;\n
action: PLAY_TONE tone name duration in seconds ( Range 0.1 to 
10.0 );\n
action: PHYSICS_IMPULSE 10 -23.4 0;\n
action: PHYSICS_TORQUE_IMPULSE 0 2.1 0.95;\n
@@ -9199,6 +9199,16 @@ st_collections_group_programs_program_action(void)
}
   }
 ep-speed = parse_float_range(2, 0.0, 100.0);
+if (get_arg_count() = 4)
+  ep-channel = parse_enum(3,
+   EFFECT, 0, FX, 0,
+   BACKGROUND, 1, BG, 1,
+   MUSIC, 2, MUS, 2,
+   FOREGROUND, 3, FG, 3,
+   INTERFACE, 4, UI, 4,
+   INPUT, 5,
+   ALERT, 6,
+   NULL);
  }
else if (ep-action == EDJE_ACTION_TYPE_SOUND_TONE)
  {
@@ -9303,6 +9313,8 @@ st_collections_group_programs_program_action(void)
   case EDJE_ACTION_TYPE_PHYSICS_ROT_SET:
 check_arg_count(5);
 break;
+  case EDJE_ACTION_TYPE_SOUND_SAMPLE:
+break;
   default:
check_arg_count(3);
  }
diff --git a/src/lib/edje/Edje_Common.h b/src/lib/edje/Edje_Common.h
index a2dbf13..9d83fb5 100644
--- a/src/lib/edje/Edje_Common.h
+++ b/src/lib/edje/Edje_Common.h
@@ -2026,3 +2026,74 @@ EAPI const Edje_Perspective 
*edje_evas_global_perspective_get(const Evas *e);
 /**
  * @}
  */
+
+/**
+ * @defgroup Edje_Audio Edje Audio
+ *
+ * @brief Functions to manipulate audio abilities in edje.
+ *
+ * Perspective is a graphical tool that makes objets represented in 2D
+ * look like they have a 3D appearance.
+ *
+ * Edje allows us to use perspective on any edje object. This group of
+ * functions deal with the use of perspective, by creating and configuring
+ * a perspective object that must set to a edje object or a canvas,
+ * affecting all the objects inside that have no particular perspective
+ * set already.
+ *
+ * @ingroup Edje_Audio
+ *
+ * @{
+ */
+
+/**
+ * Identifiers of Edje message types, which can be sent back and forth
+ * code and a given Edje object's theme file/group.
+ *
+ * @see edje_audio_channel_mute_set()
+ * @see edje_audio_channel_mute_get()
+ * 
+ * @since 1.9
+ */
+typedef enum _Edje_Channel
+{
+   EDJE_CHANNEL_EFFECT = 0, /** Standard audio effects */
+   EDJE_CHANNEL_BACKGROUND = 1, /** Background audio sounds  */
+   EDJE_CHANNEL_MUSIC = 2, /** Music audio */
+   EDJE_CHANNEL_FOREGROUND = 3, /** Foreground audio sounds */
+   

[EGIT] [core/efl] master 01/02: formatting - make parse enum easier to read

2014-02-09 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 7c7f2eb30032b520d66fe43fa7000ae18264de49
Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
Date:   Sun Feb 9 13:38:36 2014 +0900

formatting - make parse enum easier to read
---
 src/bin/edje/edje_cc_handlers.c | 9 +++--
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c
index 9c34604..0ea056d 100644
--- a/src/bin/edje/edje_cc_handlers.c
+++ b/src/bin/edje/edje_cc_handlers.c
@@ -9163,15 +9163,12 @@ st_collections_group_programs_program_action(void)
PLAY_SAMPLE, EDJE_ACTION_TYPE_SOUND_SAMPLE,
PLAY_TONE, EDJE_ACTION_TYPE_SOUND_TONE,
PHYSICS_IMPULSE, EDJE_ACTION_TYPE_PHYSICS_IMPULSE,
-   PHYSICS_TORQUE_IMPULSE,
-   EDJE_ACTION_TYPE_PHYSICS_TORQUE_IMPULSE,
+   PHYSICS_TORQUE_IMPULSE, 
EDJE_ACTION_TYPE_PHYSICS_TORQUE_IMPULSE,
PHYSICS_FORCE, EDJE_ACTION_TYPE_PHYSICS_FORCE,
PHYSICS_TORQUE, EDJE_ACTION_TYPE_PHYSICS_TORQUE,
-   PHYSICS_FORCES_CLEAR,
-   EDJE_ACTION_TYPE_PHYSICS_FORCES_CLEAR,
+   PHYSICS_FORCES_CLEAR, 
EDJE_ACTION_TYPE_PHYSICS_FORCES_CLEAR,
PHYSICS_VEL_SET, EDJE_ACTION_TYPE_PHYSICS_VEL_SET,
-   PHYSICS_ANG_VEL_SET,
-   EDJE_ACTION_TYPE_PHYSICS_ANG_VEL_SET,
+   PHYSICS_ANG_VEL_SET, 
EDJE_ACTION_TYPE_PHYSICS_ANG_VEL_SET,
PHYSICS_STOP, EDJE_ACTION_TYPE_PHYSICS_STOP,
PHYSICS_ROT_SET, EDJE_ACTION_TYPE_PHYSICS_ROT_SET,
NULL);

-- 




Re: [E-devel] [EGIT] [core/efl] master 02/02: edje - feature - add channel types for sounds and ability to mute them

2014-02-09 Thread Daniel Juyung Seo
Hello,
this does not look like a wrapper of ecore_audio.
ecore_audio and edje_audio support audio features in different layers?

Daniel Juyung Seo (SeoZ)


On Sun, Feb 9, 2014 at 7:19 PM, Carsten Haitzler ras...@rasterman.comwrote:

 raster pushed a commit to branch master.


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

 commit db1990020a9039d867bf620d9f9463dda443f31e
 Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
 Date:   Sun Feb 9 19:08:12 2014 +0900

 edje - feature - add channel types for sounds and ability to mute them

 this adds a new feature to be able to assign a sample to a given
 type of audio channel, and then to be able to mute these from code.
 ---
  data/edje/include/edje.inc  |  4 +--
  src/bin/edje/edje_cc_handlers.c | 14 +++-
  src/lib/edje/Edje_Common.h  | 71
 +
  src/lib/edje/edje_data.c|  1 +
  src/lib/edje/edje_embryo.c  | 22 +
  src/lib/edje/edje_multisense.c  | 53 +++---
  src/lib/edje/edje_private.h |  6 ++--
  src/lib/edje/edje_program.c |  4 +--
  8 files changed, 157 insertions(+), 18 deletions(-)

 diff --git a/data/edje/include/edje.inc b/data/edje/include/edje.inc
 index 1cf7b89..828380b 100644
 --- a/data/edje/include/edje.inc
 +++ b/data/edje/include/edje.inc
 @@ -235,8 +235,8 @@ native set_state_val(part_id, State_Param:p, ...);
  native get_state_val(part_id, State_Param:p, ...);

  /* Multisense */
 -native   play_sample  (sample_name[], Float:speed);
 -native   play_tone(tone_name[], Float:duration);
 +native   play_sample  (sample_name[], Float:speed, ...);
 +native   play_tone(tone_name[], Float:duration, ...);

  /***/
  /* Edje physics calls. */
 diff --git a/src/bin/edje/edje_cc_handlers.c
 b/src/bin/edje/edje_cc_handlers.c
 index 0ea056d..dda4116 100644
 --- a/src/bin/edje/edje_cc_handlers.c
 +++ b/src/bin/edje/edje_cc_handlers.c
 @@ -9126,7 +9126,7 @@ st_collections_group_programs_program_in(void)
 action: FOCUS_OBJECT;\n
 action: PARAM_COPY src_part src_param dst_part
 dst_param;\n
 action: PARAM_SET part param value;\n
 -   action: PLAY_SAMPLE sample name speed (speed of sample - 1.0
 is original speed - faster is higher pitch);\n
 +   action: PLAY_SAMPLE sample name speed (speed of sample - 1.0
 is original speed - faster is higher pitch) [channel optional EFFECT/FX |
 BACKGROUND/BG | MUSIC/MUS | FOREGROUND/FG | INTERFACE/UI | INPUT | ALERT;\n
 action: PLAY_TONE tone name duration in seconds ( Range 0.1
 to 10.0 );\n
 action: PHYSICS_IMPULSE 10 -23.4 0;\n
 action: PHYSICS_TORQUE_IMPULSE 0 2.1 0.95;\n
 @@ -9199,6 +9199,16 @@ st_collections_group_programs_program_action(void)
 }
}
  ep-speed = parse_float_range(2, 0.0, 100.0);
 +if (get_arg_count() = 4)
 +  ep-channel = parse_enum(3,
 +   EFFECT, 0, FX, 0,
 +   BACKGROUND, 1, BG, 1,
 +   MUSIC, 2, MUS, 2,
 +   FOREGROUND, 3, FG, 3,
 +   INTERFACE, 4, UI, 4,
 +   INPUT, 5,
 +   ALERT, 6,
 +   NULL);
   }
 else if (ep-action == EDJE_ACTION_TYPE_SOUND_TONE)
   {
 @@ -9303,6 +9313,8 @@ st_collections_group_programs_program_action(void)
case EDJE_ACTION_TYPE_PHYSICS_ROT_SET:
  check_arg_count(5);
  break;
 +  case EDJE_ACTION_TYPE_SOUND_SAMPLE:
 +break;
default:
 check_arg_count(3);
   }
 diff --git a/src/lib/edje/Edje_Common.h b/src/lib/edje/Edje_Common.h
 index a2dbf13..9d83fb5 100644
 --- a/src/lib/edje/Edje_Common.h
 +++ b/src/lib/edje/Edje_Common.h
 @@ -2026,3 +2026,74 @@ EAPI const Edje_Perspective
 *edje_evas_global_perspective_get(const Evas *e);
  /**
   * @}
   */
 +
 +/**
 + * @defgroup Edje_Audio Edje Audio
 + *
 + * @brief Functions to manipulate audio abilities in edje.
 + *
 + * Perspective is a graphical tool that makes objets represented in 2D
 + * look like they have a 3D appearance.
 + *
 + * Edje allows us to use perspective on any edje object. This group of
 + * functions deal with the use of perspective, by creating and configuring
 + * a perspective object that must set to a edje object or a canvas,
 + * affecting all the objects inside that have no particular perspective
 + * set already.
 + *
 + * @ingroup Edje_Audio
 + *
 + * @{
 + */
 +
 +/**
 + * Identifiers of Edje message types, which can be sent back and forth
 + * code and a given Edje object's theme file/group.
 + *
 + * @see edje_audio_channel_mute_set()
 + * @see 

[EGIT] [core/efl] master 01/01: in case font_instance is null in text_props... avoid using it

2014-02-09 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit acbcc7da6a0297323adc3b1bc6d63c8b1009373d
Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
Date:   Sun Feb 9 19:39:30 2014 +0900

in case font_instance is null in text_props... avoid using it
---
 src/lib/evas/canvas/evas_object_textblock.c | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/lib/evas/canvas/evas_object_textblock.c 
b/src/lib/evas/canvas/evas_object_textblock.c
index c717ac4..caf7c55 100644
--- a/src/lib/evas/canvas/evas_object_textblock.c
+++ b/src/lib/evas/canvas/evas_object_textblock.c
@@ -10747,8 +10747,10 @@ evas_object_textblock_render(Evas_Object *eo_obj 
EINA_UNUSED,
  { \
 Evas_Object_Textblock_Text_Item *titr = \
   (Evas_Object_Textblock_Text_Item *)itr; \
-yoff = \
-  
evas_common_font_instance_max_ascent_get(titr-text_props.font_instance) +\
+int ascent = 0; \
+if (titr-text_props.font_instance) \
+  ascent = 
evas_common_font_instance_max_ascent_get(titr-text_props.font_instance); \
+yoff = ascent + \
   (itr-format-valign * (ln-h - itr-h)); \
  } \
else yoff = itr-format-valign * (ln-h - itr-h); \

-- 




Re: [E-devel] [EGIT] [core/efl] master 01/01: evas - textblock ... fix valign handling to actually work as documented

2014-02-09 Thread The Rasterman
On Sun, 9 Feb 2014 10:29:30 +0900 (KST) ChunEon Park her...@naver.com said:

where did you get a crash? 

 k.
 
 this caused crash.
 
 please be sure titr-text_props.font_instance is valid always.
 
 
 -Regards, Hermet-
 -Original Message-
 From: Carsten Haitzlerras...@rasterman.com 
 To: g...@lists.enlightenment.org; 
 Cc: 
 Sent: 2014-02-08 (토) 22:58:39
 Subject: [EGIT] [core/efl] master 01/01: evas - textblock ... fix valign
 handling to actually work as documented
 
 raster pushed a commit to branch master.
 
 http://git.enlightenment.org/core/efl.git/commit/?id=229ee74f6c6637a369d46b771642cb91a3c34409
 
 commit 229ee74f6c6637a369d46b771642cb91a3c34409
 Author: Carsten Haitzler (Rasterman) raster@rasterman.com
 Date:   Sat Feb 8 22:54:56 2014 +0900
 
 evas - textblock ... fix valign handling to actually work as documented
 
 valign handling was really broken. this fixes it to pretty much work
 again. ie 0.0 == top, 0.5 == centered, 1.0 == bottom align and -1.0
 == baseline. only baseline worked before.
 ---
  src/lib/evas/canvas/evas_object_textblock.c  10 +-
  1 file changed, 9 insertions(+), 1 deletion(-)
 
 diff --git a/src/lib/evas/canvas/evas_object_textblock.c
 b/src/lib/evas/canvas/evas_object_textblock.c index f62370d..c717ac4 100644
 --- a/src/lib/evas/canvas/evas_object_textblock.c
 +++ b/src/lib/evas/canvas/evas_object_textblock.c
 @@ -10743,7 +10743,15 @@ evas_object_textblock_render(Evas_Object *eo_obj
 EINA_UNUSED, yoff = ln-baseline; \
if (itr-format-valign != -1.0) \
  { \
 -   yoff += itr-format-valign * (ln-h - itr-h); \
 +   if (itr-type == EVAS_TEXTBLOCK_ITEM_TEXT) \
 + { \
 +Evas_Object_Textblock_Text_Item *titr = \
 +  (Evas_Object_Textblock_Text_Item *)itr; \
 +yoff = \
 +  evas_common_font_instance_max_ascent_get
 (titr-text_props.font_instance) +\
 +  (itr-format-valign * (ln-h - itr-h)); \
 + } \
 +   else yoff = itr-format-valign * (ln-h - itr-h); \
  } \
itr-yoff = yoff; \
if (clip) \
 
 -- 
 
 
 
 --
 Managing the Performance of Cloud-Based Applications
 Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
 Read the Whitepaper.
 http://pubads.g.doubleclick.net/gampad/clk?id=121051231iu=/4140/ostg.clktrk
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


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


--
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [PATCH] evas/op_blend: remove duplicated function _op_blend_pan_mas_dp

2014-02-09 Thread The Rasterman
On Sat,  8 Feb 2014 13:50:58 +0100 Albin Tonnerre albin.tonne...@gmail.com
said:

in. thanks! :)

 _op_blend_pan_mas_dp is just a duplication of the code in
 _op_blend_pas_mas_dp. Remove the extra copy of the code and use a define
 instead; this is what the SSE3 code already does.
 ---
 Hi,
 
 I tried submitting that change using 'arc diff' but it keeps crashing because
 of some JSON error, so here goes...
 
  .../common/evas_op_blend/op_blend_pixel_mask_.c| 24
 +- 1 file changed, 1 insertion(+), 23 deletions(-)
 
 diff --git a/src/lib/evas/common/evas_op_blend/op_blend_pixel_mask_.c
 b/src/lib/evas/common/evas_op_blend/op_blend_pixel_mask_.c index
 5d6c976..78ff716 100644
 --- a/src/lib/evas/common/evas_op_blend/op_blend_pixel_mask_.c
 +++ b/src/lib/evas/common/evas_op_blend/op_blend_pixel_mask_.c
 @@ -48,29 +48,7 @@ _op_blend_pas_mas_dp(DATA32 *s, DATA8 *m, DATA32 c
 EINA_UNUSED, DATA32 *d, int l });
  }
  
 -static void
 -_op_blend_pan_mas_dp(DATA32 *s, DATA8 *m, DATA32 c EINA_UNUSED, DATA32 *d,
 int l) {
 -   DATA32 *e;
 -   int alpha;
 -   UNROLL8_PLD_WHILE(d, l, e,
 - {
 -alpha = *m;
 -switch(alpha)
 -  {
 -  case 0:
 - break;
 -  case 255:
 - *d = *s;
 - break;
 -  default:
 - alpha++;
 - *d = INTERP_256(alpha, *s, *d);
 - break;
 -  }
 -m++;  s++;  d++;
 - });
 -}
 -
 +#define _op_blend_pan_mas_dp _op_blend_pas_mas_dp
  
  #define _op_blend_p_mas_dpan _op_blend_p_mas_dp
  #define _op_blend_pas_mas_dpan _op_blend_pas_mas_dp
 -- 
 1.9.rc1
 


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


--
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: cleanup - Remove the extra copy of the code and use a define instead

2014-02-09 Thread Albin Tonnerre
raster pushed a commit to branch master.

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

commit 64e153ea7fffa269dcc4566aeb6e17f2b24580ea
Author: Albin Tonnerre albin.tonne...@gmail.com
Date:   Sun Feb 9 19:44:49 2014 +0900

cleanup - Remove the extra copy of the code and use a define instead

_op_blend_pan_mas_dp is just a duplication of the code in
_op_blend_pas_mas_dp. Remove the extra copy of the code and use a define
instead; this is what the SSE3 code already does.
---
 .../common/evas_op_blend/op_blend_pixel_mask_.c| 24 +-
 1 file changed, 1 insertion(+), 23 deletions(-)

diff --git a/src/lib/evas/common/evas_op_blend/op_blend_pixel_mask_.c 
b/src/lib/evas/common/evas_op_blend/op_blend_pixel_mask_.c
index 5d6c976..78ff716 100644
--- a/src/lib/evas/common/evas_op_blend/op_blend_pixel_mask_.c
+++ b/src/lib/evas/common/evas_op_blend/op_blend_pixel_mask_.c
@@ -48,29 +48,7 @@ _op_blend_pas_mas_dp(DATA32 *s, DATA8 *m, DATA32 c 
EINA_UNUSED, DATA32 *d, int l
  });
 }
 
-static void
-_op_blend_pan_mas_dp(DATA32 *s, DATA8 *m, DATA32 c EINA_UNUSED, DATA32 *d, int 
l) {
-   DATA32 *e;
-   int alpha;
-   UNROLL8_PLD_WHILE(d, l, e,
- {
-alpha = *m;
-switch(alpha)
-  {
-  case 0:
- break;
-  case 255:
- *d = *s;
- break;
-  default:
- alpha++;
- *d = INTERP_256(alpha, *s, *d);
- break;
-  }
-m++;  s++;  d++;
- });
-}
-
+#define _op_blend_pan_mas_dp _op_blend_pas_mas_dp
 
 #define _op_blend_p_mas_dpan _op_blend_p_mas_dp
 #define _op_blend_pas_mas_dpan _op_blend_pas_mas_dp

-- 




[EGIT] [core/elementary] master 01/01: focus: Added focus_highlight_geometry_get() into elm_widget.

2014-02-09 Thread Amitesh Singh
seoz pushed a commit to branch master.

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

commit 37eb8fd233365e2922d9d0b372bd040d697f2555
Author: Amitesh Singh amitesh...@samsung.com
Date:   Sun Feb 9 19:53:54 2014 +0900

focus: Added focus_highlight_geometry_get() into elm_widget.

Summary:
Currently, elm_win was handling focus_highlight geometry of widgets.
Removed elm_win_focus_highlight_geometry_get() from elm_win and now 
elm_widget handles focus highlight geometry.
This is required to support the focus highlight on elm widget items.

Test Plan: elementary_test - focus

Reviewers: seoz, raster, woohyun

CC: nirajkr

Differential Revision: https://phab.enlightenment.org/D530
---
 src/lib/elm_widget.c | 45 +
 src/lib/elm_widget.h | 17 -
 src/lib/elm_win.c| 37 +++--
 3 files changed, 64 insertions(+), 35 deletions(-)

diff --git a/src/lib/elm_widget.c b/src/lib/elm_widget.c
index 9cd464d..7558d9c 100644
--- a/src/lib/elm_widget.c
+++ b/src/lib/elm_widget.c
@@ -4861,6 +4861,49 @@ _elm_widget_newest_focus_order_get(Eo *obj, void *_pd, 
va_list *list)
 }
 
 EAPI void
+elm_widget_focus_highlight_geometry_get(const Evas_Object *obj, Evas_Coord *x, 
Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)
+{
+   ELM_WIDGET_CHECK(obj);
+   eo_do(obj, elm_wdg_focus_highlight_geometry_get(x, y, w, h));
+}
+
+static void
+_elm_widget_focus_highlight_geometry_get(Eo *obj, void *_pd, va_list *list)
+{
+   Evas_Coord *x = va_arg(*list, Evas_Coord *);
+   Evas_Coord *y = va_arg(*list, Evas_Coord *);
+   Evas_Coord *w = va_arg(*list, Evas_Coord *);
+   Evas_Coord *h = va_arg(*list, Evas_Coord *);
+
+   Evas_Coord tx = 0, ty = 0, tw = 0, th = 0;
+   const char *target_hl_part = NULL;
+   Evas_Object *edje_obj = NULL;
+   Elm_Widget_Smart_Data *sd = _pd;
+
+   evas_object_geometry_get(obj, x, y, w, h);
+   if (sd-resize_obj  eo_isa(sd-resize_obj, EDJE_OBJ_CLASS))
+ {
+edje_obj = sd-resize_obj;
+if (!(target_hl_part = edje_object_data_get(edje_obj, focus_part)))
+  return;
+ }
+   else if (sd-resize_obj  eo_isa(sd-resize_obj, ELM_OBJ_LAYOUT_CLASS))
+ {
+edje_obj = elm_layout_edje_get(sd-resize_obj);
+if (!(target_hl_part = elm_layout_data_get(sd-resize_obj, 
focus_part)))
+  return;
+ }
+   else return;
+
+   edje_object_part_geometry_get(edje_obj, target_hl_part,
+ tx, ty, tw, th);
+   *x += tx;
+   *y += ty;
+   if (tw != *w) *w = tw;
+   if (th != *h) *h = th;
+}
+
+EAPI void
 elm_widget_activate(Evas_Object *obj, Elm_Activate act)
 {
Evas_Object *parent;
@@ -6614,6 +6657,7 @@ _class_constructor(Eo_Class *klass)
 
 EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_CAN_FOCUS_CHILD_LIST_GET), 
_elm_widget_can_focus_child_list_get),
 EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_NEWEST_FOCUS_ORDER_GET), 
_elm_widget_newest_focus_order_get),
+
EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_FOCUS_HIGHLIGHT_GEOMETRY_GET), 
_elm_widget_focus_highlight_geometry_get),
 
 EO_OP_FUNC_SENTINEL
};
@@ -6767,6 +6811,7 @@ static const Eo_Op_Description op_desc[] = {
 
  EO_OP_DESCRIPTION(ELM_WIDGET_SUB_ID_CAN_FOCUS_CHILD_LIST_GET, Get the 
list of focusable child objects.),
  EO_OP_DESCRIPTION(ELM_WIDGET_SUB_ID_NEWEST_FOCUS_ORDER_GET, Get the 
newest focused object and its order.),
+ EO_OP_DESCRIPTION(ELM_WIDGET_SUB_ID_FOCUS_HIGHLIGHT_GEOMETRY_GET, Get 
the focus highlight geometry of widget.),
 
  EO_OP_DESCRIPTION_SENTINEL
 };
diff --git a/src/lib/elm_widget.h b/src/lib/elm_widget.h
index 085ac61..b1d3172 100644
--- a/src/lib/elm_widget.h
+++ b/src/lib/elm_widget.h
@@ -736,6 +736,7 @@ EAPI const char  *elm_widget_access_info_get(const 
Evas_Object *obj);
 EAPI void elm_widget_orientation_set(Evas_Object *obj, int 
rotation);
 EAPI void elm_widget_orientation_mode_disabled_set(Evas_Object 
*obj, Eina_Bool disabled);
 EAPI Eina_Boolelm_widget_orientation_mode_disabled_get(const 
Evas_Object *obj);
+EAPI void elm_widget_focus_highlight_geometry_get(const 
Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
 EAPI Elm_Widget_Item *_elm_widget_item_new(Evas_Object *parent, size_t 
alloc_size);
 EAPI void _elm_widget_item_free(Elm_Widget_Item *item);
 EAPI Evas_Object *_elm_widget_item_widget_get(const Elm_Widget_Item *item);
@@ -1274,6 +1275,7 @@ enum
 
ELM_WIDGET_SUB_ID_CAN_FOCUS_CHILD_LIST_GET,
ELM_WIDGET_SUB_ID_NEWEST_FOCUS_ORDER_GET,
+   ELM_WIDGET_SUB_ID_FOCUS_HIGHLIGHT_GEOMETRY_GET,
 #if 0
ELM_WIDGET_SUB_ID_THEME_APPLY, /* API + virtual*/
ELM_WIDGET_SUB_ID_THEME_SPECIFIC,
@@ -2671,5 +2673,18 @@ typedef void * (*list_data_get_func_type)(const 
Eina_List * l);
  */
 #define 

Re: [E-devel] [EGIT] [core/efl] master 01/01: evas - textblock ... fix valign handling to actually work as documented

2014-02-09 Thread Tom Hacohen
Hermet is right, you can't be sure you always have a valid font_instance (I
usually protect against it before using).
This can probably be reproduced by not setting the font in the style.


On Sun, Feb 9, 2014 at 10:37 AM, Carsten Haitzler ras...@rasterman.comwrote:

 On Sun, 9 Feb 2014 10:29:30 +0900 (KST) ChunEon Park her...@naver.com
 said:

 where did you get a crash?

  k.
 
  this caused crash.
 
  please be sure titr-text_props.font_instance is valid always.
 
  
  -Regards, Hermet-
  -Original Message-
  From: Carsten Haitzlerras...@rasterman.com
  To: g...@lists.enlightenment.org;
  Cc:
  Sent: 2014-02-08 (토) 22:58:39
  Subject: [EGIT] [core/efl] master 01/01: evas - textblock ... fix valign
  handling to actually work as documented
 
  raster pushed a commit to branch master.
 
 
 http://git.enlightenment.org/core/efl.git/commit/?id=229ee74f6c6637a369d46b771642cb91a3c34409
 
  commit 229ee74f6c6637a369d46b771642cb91a3c34409
  Author: Carsten Haitzler (Rasterman) raster@rasterman.com
  Date:   Sat Feb 8 22:54:56 2014 +0900
 
  evas - textblock ... fix valign handling to actually work as
 documented
 
  valign handling was really broken. this fixes it to pretty much work
  again. ie 0.0 == top, 0.5 == centered, 1.0 == bottom align and -1.0
  == baseline. only baseline worked before.
  ---
   src/lib/evas/canvas/evas_object_textblock.c  10 +-
   1 file changed, 9 insertions(+), 1 deletion(-)
 
  diff --git a/src/lib/evas/canvas/evas_object_textblock.c
  b/src/lib/evas/canvas/evas_object_textblock.c index f62370d..c717ac4
 100644
  --- a/src/lib/evas/canvas/evas_object_textblock.c
  +++ b/src/lib/evas/canvas/evas_object_textblock.c
  @@ -10743,7 +10743,15 @@ evas_object_textblock_render(Evas_Object *eo_obj
  EINA_UNUSED, yoff = ln-baseline; \
 if (itr-format-valign != -1.0) \
   { \
  -   yoff += itr-format-valign * (ln-h - itr-h); \
  +   if (itr-type == EVAS_TEXTBLOCK_ITEM_TEXT) \
  + { \
  +Evas_Object_Textblock_Text_Item *titr = \
  +  (Evas_Object_Textblock_Text_Item *)itr; \
  +yoff = \
  +  evas_common_font_instance_max_ascent_get
  (titr-text_props.font_instance) +\
  +  (itr-format-valign * (ln-h - itr-h));
 \
  + } \
  +   else yoff = itr-format-valign * (ln-h -
 itr-h); \
   } \
 itr-yoff = yoff; \
 if (clip) \
 
  --
 
 
 
 
 --
  Managing the Performance of Cloud-Based Applications
  Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
  Read the Whitepaper.
 
 http://pubads.g.doubleclick.net/gampad/clk?id=121051231iu=/4140/ostg.clktrk
  ___
  enlightenment-devel mailing list
  enlightenment-devel@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


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



 --
 Managing the Performance of Cloud-Based Applications
 Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
 Read the Whitepaper.

 http://pubads.g.doubleclick.net/gampad/clk?id=121051231iu=/4140/ostg.clktrk
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

--
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: ecore_x_selection: fix selection data freeing

2014-02-09 Thread Daniel Hirt
jackdanielz pushed a commit to branch master.

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

commit 3160b044fb8025ce36ce0be71f898a79fe39
Author: Daniel Hirt daniel.h...@samsung.com
Date:   Tue Feb 4 15:27:02 2014 +0200

ecore_x_selection: fix selection data freeing

This fixes valgrind reporting lost bytes when selecting text (e.g. in 
entry).
Can be reproduced in any program that has entry:
  Simply run it with valgrind, select any text, and then exit.
Fixed by properly freeing the selection data, since it is either cleared or 
replaced.
Also, changed argument in sizeof since it didn't match the type of 
selections[in].
---
 src/lib/ecore_x/xcb/ecore_xcb_selection.c | 11 ++-
 src/lib/ecore_x/xlib/ecore_x_selection.c  | 11 ++-
 2 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/src/lib/ecore_x/xcb/ecore_xcb_selection.c 
b/src/lib/ecore_x/xcb/ecore_xcb_selection.c
index 85bcac7..a9a2615 100644
--- a/src/lib/ecore_x/xcb/ecore_xcb_selection.c
+++ b/src/lib/ecore_x/xcb/ecore_xcb_selection.c
@@ -624,6 +624,12 @@ _ecore_xcb_selection_set(Ecore_X_Window win,
else
  return EINA_FALSE;
 
+   if (selections[in].data)
+ {
+free(selections[in].data);
+memset(selections[in], 0, sizeof(Ecore_X_Selection_Intern));
+ }
+
if (data)
  {
 unsigned char *buff = NULL;
@@ -638,11 +644,6 @@ _ecore_xcb_selection_set(Ecore_X_Window win,
 memcpy(buff, data, size);
 _selections[in].data = buff;
  }
-   else if (_selections[in].data)
- {
-free(_selections[in].data);
-memset(_selections[in], 0, sizeof(Ecore_X_Selection_Data));
- }
 
return EINA_TRUE;
 }
diff --git a/src/lib/ecore_x/xlib/ecore_x_selection.c 
b/src/lib/ecore_x/xlib/ecore_x_selection.c
index 6e38fcf..d146fbd 100644
--- a/src/lib/ecore_x/xlib/ecore_x_selection.c
+++ b/src/lib/ecore_x/xlib/ecore_x_selection.c
@@ -140,6 +140,12 @@ _ecore_x_selection_set(Window w,
else
  return EINA_FALSE;
 
+   if (selections[in].data)
+ {
+free(selections[in].data);
+memset(selections[in], 0, sizeof(Ecore_X_Selection_Intern));
+ }
+
if (data)
  {
 selections[in].win = w;
@@ -152,11 +158,6 @@ _ecore_x_selection_set(Window w,
 memcpy(buf, data, size);
 selections[in].data = buf;
  }
-   else if (selections[in].data)
- {
-free(selections[in].data);
-memset(selections[in], 0, sizeof(Ecore_X_Selection_Data));
- }
 
return EINA_TRUE;
 }

-- 




[EGIT] [core/elementary] master 01/01: elm cnp: fix freeing selection buf

2014-02-09 Thread Daniel Hirt
jackdanielz pushed a commit to branch master.

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

commit e025c1a93afb6acb9cf2f0a394cf73e3fcec87c1
Author: Daniel Hirt daniel.h...@samsung.com
Date:   Tue Feb 4 15:02:54 2014 +0200

elm cnp: fix freeing selection buf

Moved a misplaced ELM_SAFE_FREE of the selection buffer,
 as valgrind still showed lost bytes with selection.
---
 src/lib/elm_cnp.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/src/lib/elm_cnp.c b/src/lib/elm_cnp.c
index a23562f..f488003 100644
--- a/src/lib/elm_cnp.c
+++ b/src/lib/elm_cnp.c
@@ -1752,12 +1752,12 @@ _x11_elm_cnp_selection_set(Ecore_X_Window xwin, 
Evas_Object *obj, Elm_Sel_Type s
evas_object_event_callback_add
  (sel-widget, EVAS_CALLBACK_DEL, _x11_sel_obj_del, sel);
 
+   ELM_SAFE_FREE(sel-selbuf, free);
if (selbuf)
  {
 if (format == ELM_SEL_FORMAT_IMAGE)
   {
  // selbuf is actual image data, not text/string
- ELM_SAFE_FREE(sel-selbuf, free);
  sel-selbuf = malloc(buflen + 1);
  if (!sel-selbuf)
{
@@ -1770,8 +1770,6 @@ _x11_elm_cnp_selection_set(Ecore_X_Window xwin, 
Evas_Object *obj, Elm_Sel_Type s
 else
   sel-selbuf = strdup((char*)selbuf);
  }
-   else
- sel-selbuf = NULL;
 
return EINA_TRUE;
 }

-- 




[EGIT] [core/elementary] master 01/01: Docs: actually show the functions. Missed doxy group.

2014-02-09 Thread davemds
davemds pushed a commit to branch master.

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

commit 6c0c6f733abbc021100372465ab57a9a1d45e217
Author: davemds d...@gurumeditation.it
Date:   Sun Feb 9 12:43:45 2014 +0100

Docs: actually show the functions. Missed doxy group.
---
 src/lib/elm_entry_legacy.h | 5 +
 1 file changed, 5 insertions(+)

diff --git a/src/lib/elm_entry_legacy.h b/src/lib/elm_entry_legacy.h
index 316fece..a03ccc6 100644
--- a/src/lib/elm_entry_legacy.h
+++ b/src/lib/elm_entry_legacy.h
@@ -46,6 +46,7 @@ EAPI const char*elm_entry_entry_get(const Evas_Object 
*obj);
  * @param obj The entry object
  * @param style The style user to push
  *
+ * @ingroup Entry
  * @since 1.7
  */
 EAPI void  elm_entry_text_style_user_push(Evas_Object *obj, const char 
*style);
@@ -57,6 +58,7 @@ EAPI void  elm_entry_text_style_user_push(Evas_Object 
*obj, const char *styl
  *
  * @see elm_entry_text_style_user_push()
  *
+ * @ingroup Entry
  * @since 1.7
  */
 EAPI void elm_entry_text_style_user_pop(Evas_Object *obj);
@@ -69,6 +71,7 @@ EAPI void elm_entry_text_style_user_pop(Evas_Object *obj);
  *
  * @see elm_entry_text_style_user_push()
  *
+ * @ingroup Entry
  * @since 1.7
  */
 EAPI const char*  elm_entry_text_style_user_peek(const Evas_Object *obj);
@@ -281,6 +284,8 @@ EAPI void   elm_entry_entry_insert(Evas_Object 
*obj, const char *ent
  *
  * @param obj The entry object
  * @param wrap The wrap mode to use. See Elm_Wrap_Type for details on them
+ *
+ * @ingroup Entry
  */
 EAPI void   elm_entry_line_wrap_set(Evas_Object *obj, 
Elm_Wrap_Type wrap);
 

-- 




Re: [E-devel] [EGIT] [core/efl] master 02/02: edje - feature - add channel types for sounds and ability to mute them

2014-02-09 Thread The Rasterman
On Sun, 9 Feb 2014 19:34:51 +0900 Daniel Juyung Seo seojuyu...@gmail.com said:

this is specific to edje. ecore_audio doesn't have the concept of such channel
classes.

 Hello,
 this does not look like a wrapper of ecore_audio.
 ecore_audio and edje_audio support audio features in different layers?
 
 Daniel Juyung Seo (SeoZ)
 
 
 On Sun, Feb 9, 2014 at 7:19 PM, Carsten Haitzler ras...@rasterman.comwrote:
 
  raster pushed a commit to branch master.
 
 
  http://git.enlightenment.org/core/efl.git/commit/?id=db1990020a9039d867bf620d9f9463dda443f31e
 
  commit db1990020a9039d867bf620d9f9463dda443f31e
  Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
  Date:   Sun Feb 9 19:08:12 2014 +0900
 
  edje - feature - add channel types for sounds and ability to mute them
 
  this adds a new feature to be able to assign a sample to a given
  type of audio channel, and then to be able to mute these from code.
  ---
   data/edje/include/edje.inc  |  4 +--
   src/bin/edje/edje_cc_handlers.c | 14 +++-
   src/lib/edje/Edje_Common.h  | 71
  +
   src/lib/edje/edje_data.c|  1 +
   src/lib/edje/edje_embryo.c  | 22 +
   src/lib/edje/edje_multisense.c  | 53 +++---
   src/lib/edje/edje_private.h |  6 ++--
   src/lib/edje/edje_program.c |  4 +--
   8 files changed, 157 insertions(+), 18 deletions(-)
 
  diff --git a/data/edje/include/edje.inc b/data/edje/include/edje.inc
  index 1cf7b89..828380b 100644
  --- a/data/edje/include/edje.inc
  +++ b/data/edje/include/edje.inc
  @@ -235,8 +235,8 @@ native set_state_val(part_id, State_Param:p, ...);
   native get_state_val(part_id, State_Param:p, ...);
 
   /* Multisense */
  -native   play_sample  (sample_name[], Float:speed);
  -native   play_tone(tone_name[], Float:duration);
  +native   play_sample  (sample_name[], Float:speed, ...);
  +native   play_tone(tone_name[], Float:duration, ...);
 
   /***/
   /* Edje physics calls. */
  diff --git a/src/bin/edje/edje_cc_handlers.c
  b/src/bin/edje/edje_cc_handlers.c
  index 0ea056d..dda4116 100644
  --- a/src/bin/edje/edje_cc_handlers.c
  +++ b/src/bin/edje/edje_cc_handlers.c
  @@ -9126,7 +9126,7 @@ st_collections_group_programs_program_in(void)
  action: FOCUS_OBJECT;\n
  action: PARAM_COPY src_part src_param dst_part
  dst_param;\n
  action: PARAM_SET part param value;\n
  -   action: PLAY_SAMPLE sample name speed (speed of sample - 1.0
  is original speed - faster is higher pitch);\n
  +   action: PLAY_SAMPLE sample name speed (speed of sample - 1.0
  is original speed - faster is higher pitch) [channel optional EFFECT/FX |
  BACKGROUND/BG | MUSIC/MUS | FOREGROUND/FG | INTERFACE/UI | INPUT | ALERT;\n
  action: PLAY_TONE tone name duration in seconds ( Range 0.1
  to 10.0 );\n
  action: PHYSICS_IMPULSE 10 -23.4 0;\n
  action: PHYSICS_TORQUE_IMPULSE 0 2.1 0.95;\n
  @@ -9199,6 +9199,16 @@ st_collections_group_programs_program_action(void)
  }
 }
   ep-speed = parse_float_range(2, 0.0, 100.0);
  +if (get_arg_count() = 4)
  +  ep-channel = parse_enum(3,
  +   EFFECT, 0, FX, 0,
  +   BACKGROUND, 1, BG, 1,
  +   MUSIC, 2, MUS, 2,
  +   FOREGROUND, 3, FG, 3,
  +   INTERFACE, 4, UI, 4,
  +   INPUT, 5,
  +   ALERT, 6,
  +   NULL);
}
  else if (ep-action == EDJE_ACTION_TYPE_SOUND_TONE)
{
  @@ -9303,6 +9313,8 @@ st_collections_group_programs_program_action(void)
 case EDJE_ACTION_TYPE_PHYSICS_ROT_SET:
   check_arg_count(5);
   break;
  +  case EDJE_ACTION_TYPE_SOUND_SAMPLE:
  +break;
 default:
  check_arg_count(3);
}
  diff --git a/src/lib/edje/Edje_Common.h b/src/lib/edje/Edje_Common.h
  index a2dbf13..9d83fb5 100644
  --- a/src/lib/edje/Edje_Common.h
  +++ b/src/lib/edje/Edje_Common.h
  @@ -2026,3 +2026,74 @@ EAPI const Edje_Perspective
  *edje_evas_global_perspective_get(const Evas *e);
   /**
* @}
*/
  +
  +/**
  + * @defgroup Edje_Audio Edje Audio
  + *
  + * @brief Functions to manipulate audio abilities in edje.
  + *
  + * Perspective is a graphical tool that makes objets represented in 2D
  + * look like they have a 3D appearance.
  + *
  + * Edje allows us to use perspective on any edje object. This group of
  + * functions deal with the use of perspective, by creating and configuring
  + * a perspective object that must set to a edje object or a canvas,
  + * affecting all the objects inside that have no 

[EGIT] [core/elementary] master 01/02: doc/examples: fixed typos.

2014-02-09 Thread Daniel Juyung Seo
seoz pushed a commit to branch master.

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

commit aa2e0a5e5b7e627f8b8b1e5fb982d84ad5846294
Author: Daniel Juyung Seo seojuyu...@gmail.com
Date:   Sun Feb 9 16:37:47 2014 +0900

doc/examples: fixed typos.
---
 doc/examples.dox | 18 +-
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/doc/examples.dox b/doc/examples.dox
index e69353f..c162ef9 100644
--- a/doc/examples.dox
+++ b/doc/examples.dox
@@ -1858,7 +1858,7 @@
 /**
  * @page mapbuf_example Mapbuf Widget Example
  *
- * This code places a Elementary mapbuf widget on a window,
+ * This code places an Elementary mapbuf widget on a window,
  * to exemplify part of the widget's API.
  *
  * First we'll add an window with a background and a vertical box to
@@ -1940,7 +1940,7 @@
 /**
  * @page map_example_01 Map Example - Creation and Zoom
  *
- * This code places a Elementary map widget on a window,
+ * This code places an Elementary map widget on a window,
  * to exemplify part of the widget's API.
  *
  * Let's start adding a map to our window:
@@ -2015,7 +2015,7 @@
 /**
  * @page map_example_02 Map Example - Overlay Usage
  *
- * This code places a Elementary map widget on a window,
+ * This code places an Elementary map widget on a window,
  * to exemplify part of the widget's API, related to overlays.
  *
  * We'll start this example in the same way as
@@ -2098,7 +2098,7 @@
 /**
  * @page map_example_03 Map Example - Route and Name Usage
  *
- * This code places a Elementary map widget on a window,
+ * This code places an Elementary map widget on a window,
  * to exemplify part of the widget's API, related routes and names.
  *
  * In this example, we will suppose we need to set a route for the user
@@ -2268,7 +2268,7 @@
 /**
  * @page diskselector_example_02 Diskselector - Items management
  *
- * This code places a Elementary diskselector widgets on a window,
+ * This code places an Elementary diskselector widgets on a window,
  * along with some buttons trigerring actions on it (though its API).
  * It covers most of diskselector item functions.
  *
@@ -2504,7 +2504,7 @@
 /**
  * @page list_example_03 List - Items management
  *
- * This code places a Elementary list widgets on a window,
+ * This code places an Elementary list widgets on a window,
  * along with some buttons trigerring actions on it (though its API).
  * It covers most of elm_list_item functions.
  *
@@ -2664,7 +2664,7 @@
 /**
  * @page toolbar_example_01 Toolbar Example - Simple Items
  *
- * This code places a Elementary toolbar widget on a window,
+ * This code places an Elementary toolbar widget on a window,
  * to exemplify part of the widget's API.
  *
  * Let's start adding a button to our window, that will have its text
@@ -2721,7 +2721,7 @@
 /**
  * @page toolbar_example_02 Toolbar Example - Items with States
  *
- * This code places a Elementary toolbar widget on a window,
+ * This code places an Elementary toolbar widget on a window,
  * to exemplify part of the widget's API.
  *
  * Toolbar widgets has support to items with states. Each state
@@ -2816,7 +2816,7 @@
 /**
  * @page segment_control_example Segment Control Example
  *
- * This code places a Elementary segment control widgets on a window,
+ * This code places an Elementary segment control widgets on a window,
  * to exemplify part of the widget's API.
  *
  * Let's start adding a segment control to our window:

-- 




[EGIT] [core/elementary] master 02/02: doc/examples: added missing links to examples codes and made some cleanups.

2014-02-09 Thread Daniel Juyung Seo
seoz pushed a commit to branch master.

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

commit 5b1f32315ece8dd81a4a7529d9240d24b870ad78
Author: Daniel Juyung Seo seojuyu...@gmail.com
Date:   Sun Feb 9 21:50:18 2014 +0900

doc/examples: added missing links to examples codes and made some
cleanups.

doxygen is mess now. I will clean this up later.
---
 doc/examples.dox | 24 
 1 file changed, 16 insertions(+), 8 deletions(-)

diff --git a/doc/examples.dox b/doc/examples.dox
index c162ef9..02d58e0 100644
--- a/doc/examples.dox
+++ b/doc/examples.dox
@@ -1,7 +1,7 @@
 /**
  * @page Examples Examples
  *
- * Here is a page with Elementary examples.
+ * Here is a list of all Elementary examples.
  *
  * @ref bg_01_example_page
  *
@@ -118,8 +118,6 @@
  * @ref prefs_example_02
  *
  * @ref prefs_example_03
- *
- * @ref label_example_01
  */
 
 /**
@@ -483,6 +481,7 @@
  * tween_mode.
  *
  * @include transit_example_03.c
+ * @example transit_example_03.c
  */
 
 /**
@@ -500,6 +499,7 @@
  * transition will apply both.
  *
  * @include transit_example_04.c
+ * @example transit_example_04.c
  */
 
 /**
@@ -3470,11 +3470,6 @@
  */
 
 /**
-  * @page glview_example_01_page - GLView Example
-  * @include glview_example_01.c
-  */
-
-/**
   * @page tutorial_flip Flip example
   * @dontinclude flip_example_01.c
   *
@@ -6801,3 +6796,16 @@
  * @include prefs_example_03.edc
  * @example prefs_example_03.edc
  */
+
+/**
+ * @example prefs_data_example.c
+ * @example glview_example_01.c
+ * @example track_example_01.c
+ * @example codegen_example.c
+ * @example efl_thread_win32_1.c
+ * @example efl_thread_win32_2.c
+ * @example efl_thread_win32_3.c
+ * @example efl_thread_win32_4.c
+ * @example location_example_01.c
+ * @example naviframe_example.c
+ */

-- 




Re: [E-devel] [EGIT] [core/efl] master 02/02: edje - feature - add channel types for sounds and ability to mute them

2014-02-09 Thread Daniel Juyung Seo
Ok, but it looks like channel itself is not specific to edje.
Then why didn't you add channel to ecore_audio and use it in edje?
Maybe am I missing some important points?

Daniel Juyung Seo (SeoZ)


On Sun, Feb 9, 2014 at 9:46 PM, Carsten Haitzler ras...@rasterman.comwrote:

 On Sun, 9 Feb 2014 19:34:51 +0900 Daniel Juyung Seo seojuyu...@gmail.com
 said:

 this is specific to edje. ecore_audio doesn't have the concept of such
 channel
 classes.

  Hello,
  this does not look like a wrapper of ecore_audio.
  ecore_audio and edje_audio support audio features in different layers?
 
  Daniel Juyung Seo (SeoZ)
 
 
  On Sun, Feb 9, 2014 at 7:19 PM, Carsten Haitzler ras...@rasterman.com
 wrote:
 
   raster pushed a commit to branch master.
  
  
  
 http://git.enlightenment.org/core/efl.git/commit/?id=db1990020a9039d867bf620d9f9463dda443f31e
  
   commit db1990020a9039d867bf620d9f9463dda443f31e
   Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
   Date:   Sun Feb 9 19:08:12 2014 +0900
  
   edje - feature - add channel types for sounds and ability to mute
 them
  
   this adds a new feature to be able to assign a sample to a given
   type of audio channel, and then to be able to mute these from
 code.
   ---
data/edje/include/edje.inc  |  4 +--
src/bin/edje/edje_cc_handlers.c | 14 +++-
src/lib/edje/Edje_Common.h  | 71
   +
src/lib/edje/edje_data.c|  1 +
src/lib/edje/edje_embryo.c  | 22 +
src/lib/edje/edje_multisense.c  | 53 +++---
src/lib/edje/edje_private.h |  6 ++--
src/lib/edje/edje_program.c |  4 +--
8 files changed, 157 insertions(+), 18 deletions(-)
  
   diff --git a/data/edje/include/edje.inc b/data/edje/include/edje.inc
   index 1cf7b89..828380b 100644
   --- a/data/edje/include/edje.inc
   +++ b/data/edje/include/edje.inc
   @@ -235,8 +235,8 @@ native set_state_val(part_id, State_Param:p, ...);
native get_state_val(part_id, State_Param:p, ...);
  
/* Multisense */
   -native   play_sample  (sample_name[], Float:speed);
   -native   play_tone(tone_name[], Float:duration);
   +native   play_sample  (sample_name[], Float:speed, ...);
   +native   play_tone(tone_name[], Float:duration, ...);
  
/***/
/* Edje physics calls. */
   diff --git a/src/bin/edje/edje_cc_handlers.c
   b/src/bin/edje/edje_cc_handlers.c
   index 0ea056d..dda4116 100644
   --- a/src/bin/edje/edje_cc_handlers.c
   +++ b/src/bin/edje/edje_cc_handlers.c
   @@ -9126,7 +9126,7 @@ st_collections_group_programs_program_in(void)
   action: FOCUS_OBJECT;\n
   action: PARAM_COPY src_part src_param dst_part
   dst_param;\n
   action: PARAM_SET part param value;\n
   -   action: PLAY_SAMPLE sample name speed (speed of sample -
 1.0
   is original speed - faster is higher pitch);\n
   +   action: PLAY_SAMPLE sample name speed (speed of sample -
 1.0
   is original speed - faster is higher pitch) [channel optional
 EFFECT/FX |
   BACKGROUND/BG | MUSIC/MUS | FOREGROUND/FG | INTERFACE/UI | INPUT |
 ALERT;\n
   action: PLAY_TONE tone name duration in seconds ( Range
 0.1
   to 10.0 );\n
   action: PHYSICS_IMPULSE 10 -23.4 0;\n
   action: PHYSICS_TORQUE_IMPULSE 0 2.1 0.95;\n
   @@ -9199,6 +9199,16 @@
 st_collections_group_programs_program_action(void)
   }
  }
ep-speed = parse_float_range(2, 0.0, 100.0);
   +if (get_arg_count() = 4)
   +  ep-channel = parse_enum(3,
   +   EFFECT, 0, FX, 0,
   +   BACKGROUND, 1, BG, 1,
   +   MUSIC, 2, MUS, 2,
   +   FOREGROUND, 3, FG, 3,
   +   INTERFACE, 4, UI, 4,
   +   INPUT, 5,
   +   ALERT, 6,
   +   NULL);
 }
   else if (ep-action == EDJE_ACTION_TYPE_SOUND_TONE)
 {
   @@ -9303,6 +9313,8 @@
 st_collections_group_programs_program_action(void)
  case EDJE_ACTION_TYPE_PHYSICS_ROT_SET:
check_arg_count(5);
break;
   +  case EDJE_ACTION_TYPE_SOUND_SAMPLE:
   +break;
  default:
   check_arg_count(3);
 }
   diff --git a/src/lib/edje/Edje_Common.h b/src/lib/edje/Edje_Common.h
   index a2dbf13..9d83fb5 100644
   --- a/src/lib/edje/Edje_Common.h
   +++ b/src/lib/edje/Edje_Common.h
   @@ -2026,3 +2026,74 @@ EAPI const Edje_Perspective
   *edje_evas_global_perspective_get(const Evas *e);
/**
 * @}
 */
   +
   +/**
   + * @defgroup Edje_Audio Edje Audio
   + *
   + * @brief Functions to manipulate audio abilities in edje.
   + *
 

[EGIT] [core/elementary] master 01/01: atspi_bridge: unref ret if iter_struct is null

2014-02-09 Thread Daniel Juyung Seo
seoz pushed a commit to branch master.

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

commit 43c3e332a80399bc25b7d6393e2f3002f55e916a
Author: Daniel Juyung Seo seojuyu...@gmail.com
Date:   Sun Feb 9 22:15:00 2014 +0900

atspi_bridge: unref ret if iter_struct is null

This fixes coverity CID 1170201.
---
 src/lib/elm_atspi_bridge.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/elm_atspi_bridge.c b/src/lib/elm_atspi_bridge.c
index cbede6c..46b5aad 100644
--- a/src/lib/elm_atspi_bridge.c
+++ b/src/lib/elm_atspi_bridge.c
@@ -670,7 +670,7 @@ _component_get_extents(const Eldbus_Service_Interface 
*iface EINA_UNUSED, const
 
return ret;
 fail:
-   if (iter_struct) eldbus_message_iter_del(iter_struct);
+   if (ret) eldbus_message_unref(ret);
return NULL;
 }
 

-- 




Re: [E-devel] [EGIT] [core/efl] master 02/02: edje - feature - add channel types for sounds and ability to mute them

2014-02-09 Thread The Rasterman
On Sun, 9 Feb 2014 22:00:14 +0900 Daniel Juyung Seo seojuyu...@gmail.com said:

 Ok, but it looks like channel itself is not specific to edje.
 Then why didn't you add channel to ecore_audio and use it in edje?
 Maybe am I missing some important points?

ecore_audio has an eo only api. the audio is then not controllable except via a
beta only api. 

 On Sun, Feb 9, 2014 at 9:46 PM, Carsten Haitzler ras...@rasterman.comwrote:
 
  On Sun, 9 Feb 2014 19:34:51 +0900 Daniel Juyung Seo seojuyu...@gmail.com
  said:
 
  this is specific to edje. ecore_audio doesn't have the concept of such
  channel
  classes.
 
   Hello,
   this does not look like a wrapper of ecore_audio.
   ecore_audio and edje_audio support audio features in different layers?
  
   Daniel Juyung Seo (SeoZ)
  
  
   On Sun, Feb 9, 2014 at 7:19 PM, Carsten Haitzler ras...@rasterman.com
  wrote:
  
raster pushed a commit to branch master.
   
   
   
  http://git.enlightenment.org/core/efl.git/commit/?id=db1990020a9039d867bf620d9f9463dda443f31e
   
commit db1990020a9039d867bf620d9f9463dda443f31e
Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
Date:   Sun Feb 9 19:08:12 2014 +0900
   
edje - feature - add channel types for sounds and ability to mute
  them
   
this adds a new feature to be able to assign a sample to a given
type of audio channel, and then to be able to mute these from
  code.
---
 data/edje/include/edje.inc  |  4 +--
 src/bin/edje/edje_cc_handlers.c | 14 +++-
 src/lib/edje/Edje_Common.h  | 71
+
 src/lib/edje/edje_data.c|  1 +
 src/lib/edje/edje_embryo.c  | 22 +
 src/lib/edje/edje_multisense.c  | 53 +++---
 src/lib/edje/edje_private.h |  6 ++--
 src/lib/edje/edje_program.c |  4 +--
 8 files changed, 157 insertions(+), 18 deletions(-)
   
diff --git a/data/edje/include/edje.inc b/data/edje/include/edje.inc
index 1cf7b89..828380b 100644
--- a/data/edje/include/edje.inc
+++ b/data/edje/include/edje.inc
@@ -235,8 +235,8 @@ native set_state_val(part_id, State_Param:p, ...);
 native get_state_val(part_id, State_Param:p, ...);
   
 /* Multisense */
-native   play_sample  (sample_name[], Float:speed);
-native   play_tone(tone_name[], Float:duration);
+native   play_sample  (sample_name[], Float:speed, ...);
+native   play_tone(tone_name[], Float:duration, ...);
   
 /***/
 /* Edje physics calls. */
diff --git a/src/bin/edje/edje_cc_handlers.c
b/src/bin/edje/edje_cc_handlers.c
index 0ea056d..dda4116 100644
--- a/src/bin/edje/edje_cc_handlers.c
+++ b/src/bin/edje/edje_cc_handlers.c
@@ -9126,7 +9126,7 @@ st_collections_group_programs_program_in(void)
action: FOCUS_OBJECT;\n
action: PARAM_COPY src_part src_param dst_part
dst_param;\n
action: PARAM_SET part param value;\n
-   action: PLAY_SAMPLE sample name speed (speed of sample -
  1.0
is original speed - faster is higher pitch);\n
+   action: PLAY_SAMPLE sample name speed (speed of sample -
  1.0
is original speed - faster is higher pitch) [channel optional
  EFFECT/FX |
BACKGROUND/BG | MUSIC/MUS | FOREGROUND/FG | INTERFACE/UI | INPUT |
  ALERT;\n
action: PLAY_TONE tone name duration in seconds ( Range
  0.1
to 10.0 );\n
action: PHYSICS_IMPULSE 10 -23.4 0;\n
action: PHYSICS_TORQUE_IMPULSE 0 2.1 0.95;\n
@@ -9199,6 +9199,16 @@
  st_collections_group_programs_program_action(void)
}
   }
 ep-speed = parse_float_range(2, 0.0, 100.0);
+if (get_arg_count() = 4)
+  ep-channel = parse_enum(3,
+   EFFECT, 0, FX, 0,
+   BACKGROUND, 1, BG, 1,
+   MUSIC, 2, MUS, 2,
+   FOREGROUND, 3, FG, 3,
+   INTERFACE, 4, UI, 4,
+   INPUT, 5,
+   ALERT, 6,
+   NULL);
  }
else if (ep-action == EDJE_ACTION_TYPE_SOUND_TONE)
  {
@@ -9303,6 +9313,8 @@
  st_collections_group_programs_program_action(void)
   case EDJE_ACTION_TYPE_PHYSICS_ROT_SET:
 check_arg_count(5);
 break;
+  case EDJE_ACTION_TYPE_SOUND_SAMPLE:
+break;
   default:
check_arg_count(3);
  }
diff --git a/src/lib/edje/Edje_Common.h b/src/lib/edje/Edje_Common.h
index a2dbf13..9d83fb5 100644
--- a/src/lib/edje/Edje_Common.h
+++ 

[EGIT] [core/elementary] master 01/01: remove unreachable code (coverity)

2014-02-09 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit ee1a43a45137aee9a674b204a22debbce8420b2e
Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
Date:   Sun Feb 9 22:43:03 2014 +0900

remove unreachable code (coverity)
---
 src/lib/elm_atspi_bridge.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/src/lib/elm_atspi_bridge.c b/src/lib/elm_atspi_bridge.c
index 46b5aad..f947258 100644
--- a/src/lib/elm_atspi_bridge.c
+++ b/src/lib/elm_atspi_bridge.c
@@ -669,9 +669,6 @@ _component_get_extents(const Eldbus_Service_Interface 
*iface EINA_UNUSED, const
eldbus_message_iter_container_close(iter, iter_struct);
 
return ret;
-fail:
-   if (ret) eldbus_message_unref(ret);
-   return NULL;
 }
 
 static Eldbus_Message *

-- 




[EGIT] [core/elementary] master 01/01: Add more tests to Entry user style, to spot out lots of bug.

2014-02-09 Thread davemds
davemds pushed a commit to branch master.

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

commit 1ca7576c66f86d9a5599a16f1b3abd65060d72a9
Author: davemds d...@gurumeditation.it
Date:   Sun Feb 9 14:46:27 2014 +0100

Add more tests to Entry user style, to spot out lots of bug.

This test is full of TextBlock bugs, just to name a few:
- The window height is wrong, it seems to take the max height as
the win was less large, try resizing to min width to understand what I mean.
- the backing on the em tag is not working.
- the underline colors are wrong.
- popping the style should remove the double underline.
- push/pop on the stack seems not to work as expected: If you push twice
you should need 2 pop to return to the normal state.
---
 src/bin/test_entry.c | 50 +++---
 1 file changed, 43 insertions(+), 7 deletions(-)

diff --git a/src/bin/test_entry.c b/src/bin/test_entry.c
index 7aa04f0..0e6129a 100644
--- a/src/bin/test_entry.c
+++ b/src/bin/test_entry.c
@@ -785,6 +785,12 @@ my_ent_bt_pas(void *data, Evas_Object *obj EINA_UNUSED, 
void *event_info EINA_UN
elm_entry_selection_paste(en);
 }
 
+static char *user_style =
+   DEFAULT='font_size=16 color=#F00'
+   em='+ backing=on backing_color=#FFF'
+   grn='+ color=#0F0'
+   ul='+ underline=on underline_color=#AAA';
+
 static void
 ent_bt_style_user_peek(void *data, Evas_Object *obj EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {
@@ -804,12 +810,20 @@ ent_bt_style_user_pop(void *data, Evas_Object *obj 
EINA_UNUSED, void *event_info
printf(Style user popped\n);
 }
 
+static void
+ent_bt_style_user_push(void *data, Evas_Object *obj EINA_UNUSED, void 
*event_info EINA_UNUSED)
+{
+   Evas_Object *en = data;
+   elm_entry_text_style_user_push(en, user_style);
+   printf(Style user pushed\n);
+}
+
 void
 test_entry_style_user(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, 
void *event_info EINA_UNUSED)
 {
-   Evas_Object *win, *bx, *en, *bt, *bt2;
+   Evas_Object *win, *bx, *vbx, *en, *bt, *bt2;
 
-   win = elm_win_util_standard_add(entry-style, Entry Style);
+   win = elm_win_util_standard_add(entry-style, Entry User Style);
elm_win_autodel_set(win, EINA_TRUE);
evas_object_resize(win, 300, 300);
 
@@ -820,22 +834,33 @@ test_entry_style_user(void *data EINA_UNUSED, Evas_Object 
*obj EINA_UNUSED, void
 
en = elm_entry_add(win);
elm_entry_line_wrap_set(en, ELM_WRAP_MIXED);
-   elm_entry_text_style_user_push(en, DEFAULT='font_size=40 color=#FF');
-   elm_object_text_set(en, Testing Text);
+   elm_entry_text_style_user_push(en, user_style);
+   elm_object_text_set(en,
+  Default stylebr
+  emChange a standard tag (backing)/embr
+  grnCreate a custom tag (green)/grnbr
+  ulCreate a custom tag (underline)/ulbr
+  underline=double underline_color=#0F0 underline2_color=#00FUnnamed 
tag (underline double)/br
+  );
evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_box_pack_end(bx, en);
-   evas_object_resize(en, 200, 200);
+   evas_object_resize(en, 300, 300);
evas_object_show(en);
elm_object_focus_set(en, EINA_TRUE);
 
+   vbx = elm_box_add(win);
+   elm_box_horizontal_set(vbx, EINA_TRUE);
+   elm_box_pack_end(bx, vbx);
+   evas_object_show(vbx);
+   
bt = elm_button_add(win);
evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_object_text_set(bt, Peek);
evas_object_smart_callback_add(bt, clicked, ent_bt_style_user_peek, en);
evas_object_size_hint_weight_set(bt, 0.0, 0.0);
evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0.5);
-   elm_box_pack_end(bx, bt);
+   elm_box_pack_end(vbx, bt);
evas_object_propagate_events_set(bt, EINA_FALSE);
elm_object_focus_allow_set(bt, EINA_FALSE);
evas_object_show(bt);
@@ -846,7 +871,18 @@ test_entry_style_user(void *data EINA_UNUSED, Evas_Object 
*obj EINA_UNUSED, void
evas_object_smart_callback_add(bt2, clicked, ent_bt_style_user_pop, en);
evas_object_size_hint_weight_set(bt2, 0.0, 0.0);
evas_object_size_hint_align_set(bt2, EVAS_HINT_FILL, 0.5);
-   elm_box_pack_end(bx, bt2);
+   elm_box_pack_end(vbx, bt2);
+   evas_object_propagate_events_set(bt2, EINA_FALSE);
+   elm_object_focus_allow_set(bt2, EINA_FALSE);
+   evas_object_show(bt2);
+
+   bt2 = elm_button_add(win);
+   evas_object_size_hint_weight_set(bt2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+   elm_object_text_set(bt2, Push);
+   evas_object_smart_callback_add(bt2, clicked, ent_bt_style_user_push, en);
+   evas_object_size_hint_weight_set(bt2, 0.0, 0.0);
+   evas_object_size_hint_align_set(bt2, EVAS_HINT_FILL, 0.5);
+   elm_box_pack_end(vbx, bt2);
evas_object_propagate_events_set(bt2, EINA_FALSE);
elm_object_focus_allow_set(bt2, EINA_FALSE);
evas_object_show(bt2);

-- 




[EGIT] [core/elementary] master 01/01: oops.

2014-02-09 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 1be00340149b249bca8293179fc8093a2c2de0ea
Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
Date:   Sun Feb 9 22:54:19 2014 +0900

oops.
---
 src/lib/elm_atspi_bridge.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/lib/elm_atspi_bridge.c b/src/lib/elm_atspi_bridge.c
index f947258..46b5aad 100644
--- a/src/lib/elm_atspi_bridge.c
+++ b/src/lib/elm_atspi_bridge.c
@@ -669,6 +669,9 @@ _component_get_extents(const Eldbus_Service_Interface 
*iface EINA_UNUSED, const
eldbus_message_iter_container_close(iter, iter_struct);
 
return ret;
+fail:
+   if (ret) eldbus_message_unref(ret);
+   return NULL;
 }
 
 static Eldbus_Message *

-- 




[EGIT] [core/elementary] master 01/01: label : Added the API to match the speed of label to different label

2014-02-09 Thread nirajkr
raster pushed a commit to branch master.

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

commit 56a2c96ea7a731d6066aa7cb0964a633c5bed35c
Author: nirajkr niraj...@samsung.com
Date:   Sun Feb 9 22:55:38 2014 +0900

label : Added the API to match the speed of label to different label

Summary:
Currently we do not set the speed of two label same
 This patch fetch the information of the previous
 label to set it to the next label to match the speed
 of the previous label

Reviewers: seoz, raster

Reviewed By: raster

CC: singh.amitesh

Differential Revision: https://phab.enlightenment.org/D531
---
 src/bin/test_label.c   | 47 
 src/lib/elm_label.c| 68 +++---
 src/lib/elm_label_eo.h | 32 ++
 src/lib/elm_label_legacy.h | 32 ++
 src/lib/elm_widget_label.h |  5 
 5 files changed, 180 insertions(+), 4 deletions(-)

diff --git a/src/bin/test_label.c b/src/bin/test_label.c
index 7e6a73d..d5e7898 100644
--- a/src/bin/test_label.c
+++ b/src/bin/test_label.c
@@ -113,6 +113,8 @@ void
 test_label2(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {
Evas_Object *win, *gd, *rect, *lb, *rd, *rdg, *sl;
+   double duration;
+   Evas_Coord textlen;
 
win = elm_win_util_standard_add(label2, Label 2);
elm_win_autodel_set(win, EINA_TRUE);
@@ -212,6 +214,51 @@ test_label2(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_in
elm_grid_pack(gd, sl, 5, 60, 90, 10);
evas_object_show(sl);
 
+   /*Test label slide speed */
+   lb = elm_label_add(win);
+   elm_object_text_set(lb, Test Label Slide Speed:);
+   elm_label_slide_mode_set(lb, ELM_LABEL_SLIDE_MODE_ALWAYS);
+   elm_label_slide_go(lb);
+   elm_grid_pack(gd, lb, 5, 70, 90, 10);
+   evas_object_show(lb);
+
+   rect = evas_object_rectangle_add(evas_object_evas_get(win));
+   elm_grid_pack(gd, rect, 5, 80, 90, 10);
+   evas_object_color_set(rect, 255, 125, 125, 255);
+   evas_object_show(rect);
+
+   lb = elm_label_add(win);
+   elm_object_style_set(lb, slide_long);
+   elm_object_text_set(lb,
+   This is a label set to slide and this will
+test the speed of label with the below label.
+This label has few extra char to test);
+   elm_label_slide_duration_set(lb, 8.0);
+   elm_label_slide_mode_set(lb,  ELM_LABEL_SLIDE_MODE_ALWAYS);
+   elm_label_slide_go(lb);
+   elm_grid_pack(gd, lb, 5, 80, 90, 10);
+   evas_object_show(lb);
+
+   //Get the required parameter of the previous label
+   duration = elm_label_slide_duration_get(lb);
+   textlen = elm_label_slide_text_length_get(lb);
+
+   rect = evas_object_rectangle_add(evas_object_evas_get(win));
+   elm_grid_pack(gd, rect, 5, 90, 90, 10);
+   evas_object_color_set(rect, 255, 125, 125, 255);
+   evas_object_show(rect);
+
+   lb = elm_label_add(win);
+   elm_object_style_set(lb, slide_long);
+   elm_object_text_set(lb,
+   This is a label set to slide and this will
+match the speed of the upper label.);
+   elm_label_slide_mode_set(lb,  ELM_LABEL_SLIDE_MODE_ALWAYS);
+   elm_label_slide_speed_match(lb, duration, textlen);
+   elm_label_slide_go(lb);
+   elm_grid_pack(gd, lb, 5, 90, 90, 10);
+   evas_object_show(lb);
+
evas_object_resize(win, 320, 320);
evas_object_show(win);
 }
diff --git a/src/lib/elm_label.c b/src/lib/elm_label.c
index 976b186..a46badf 100644
--- a/src/lib/elm_label.c
+++ b/src/lib/elm_label.c
@@ -78,7 +78,9 @@ static void
 _label_slide_change(Evas_Object *obj)
 {
Evas_Object *tb;
+   Evas_Coord   lw;
char *plaintxt;
+   double speed;
int plainlen = 0;
 
ELM_LABEL_DATA_GET(obj, sd);
@@ -138,6 +140,17 @@ _label_slide_change(Evas_Object *obj)
 Edje_Message_Float_Set *msg =
   alloca(sizeof(Edje_Message_Float_Set) + (sizeof(double)));
 
+evas_object_geometry_get(wd-resize_obj,
+  NULL, NULL, lw, NULL);
+if ((sd-slide_duration_recalc) 
+(lw  0) 
+(sd-matchslide_duration  0))
+  {
+ speed = (sd-matchslide_textlen + lw) / (sd-matchslide_duration);
+ sd-slide_duration = (sd-text_formatted_length + lw) / (speed);
+ sd-slide_duration_recalc = EINA_FALSE;
+  }
+
 msg-count = 1;
 msg-val[0] = sd-slide_duration;
 
@@ -214,9 +227,10 @@ _on_label_resize(void *data,
  Evas_Object *obj EINA_UNUSED,
  void *event_info EINA_UNUSED)
 {
-   ELM_LABEL_DATA_GET(data, sd);
+  ELM_LABEL_DATA_GET(data, sd);
 
-   if (sd-linewrap) elm_layout_sizing_eval(data);
+  if (sd-slide_duration_recalc) _label_slide_change(data);
+  if (sd-linewrap) elm_layout_sizing_eval(data);
 }
 
 static int
@@ 

Re: [E-devel] [EGIT] [core/elementary] master 01/01: oops.

2014-02-09 Thread Daniel Juyung Seo
Yes.

Daniel Juyung Seo (SeoZ)


On Sun, Feb 9, 2014 at 10:58 PM, Carsten Haitzler ras...@rasterman.comwrote:

 raster pushed a commit to branch master.


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

 commit 1be00340149b249bca8293179fc8093a2c2de0ea
 Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
 Date:   Sun Feb 9 22:54:19 2014 +0900

 oops.
 ---
  src/lib/elm_atspi_bridge.c | 3 +++
  1 file changed, 3 insertions(+)

 diff --git a/src/lib/elm_atspi_bridge.c b/src/lib/elm_atspi_bridge.c
 index f947258..46b5aad 100644
 --- a/src/lib/elm_atspi_bridge.c
 +++ b/src/lib/elm_atspi_bridge.c
 @@ -669,6 +669,9 @@ _component_get_extents(const Eldbus_Service_Interface
 *iface EINA_UNUSED, const
 eldbus_message_iter_container_close(iter, iter_struct);

 return ret;
 +fail:
 +   if (ret) eldbus_message_unref(ret);
 +   return NULL;
  }

  static Eldbus_Message *

 --



--
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/elementary] master 01/01: oops.

2014-02-09 Thread Daniel Zaoui
SPAMMERS!!!

On 02/09/2014 04:03 PM, Daniel Juyung Seo wrote:
 Yes.

 Daniel Juyung Seo (SeoZ)


 On Sun, Feb 9, 2014 at 10:58 PM, Carsten Haitzler ras...@rasterman.comwrote:

 raster pushed a commit to branch master.


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

 commit 1be00340149b249bca8293179fc8093a2c2de0ea
 Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
 Date:   Sun Feb 9 22:54:19 2014 +0900

  oops.
 ---
   src/lib/elm_atspi_bridge.c | 3 +++
   1 file changed, 3 insertions(+)

 diff --git a/src/lib/elm_atspi_bridge.c b/src/lib/elm_atspi_bridge.c
 index f947258..46b5aad 100644
 --- a/src/lib/elm_atspi_bridge.c
 +++ b/src/lib/elm_atspi_bridge.c
 @@ -669,6 +669,9 @@ _component_get_extents(const Eldbus_Service_Interface
 *iface EINA_UNUSED, const
  eldbus_message_iter_container_close(iter, iter_struct);

  return ret;
 +fail:
 +   if (ret) eldbus_message_unref(ret);
 +   return NULL;
   }

   static Eldbus_Message *

 --



 --
 Managing the Performance of Cloud-Based Applications
 Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
 Read the Whitepaper.
 http://pubads.g.doubleclick.net/gampad/clk?id=121051231iu=/4140/ostg.clktrk
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel



--
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/elementary] master 01/01: fix missing menu bg

2014-02-09 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit bacdf8be74352c12bdfe6bab7c30a6e6c3de9d3e
Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
Date:   Sun Feb 9 23:05:20 2014 +0900

fix missing menu bg
---
 data/themes/edc/elm/menu.edc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/data/themes/edc/elm/menu.edc b/data/themes/edc/elm/menu.edc
index 2a7afc1..81757d4 100644
--- a/data/themes/edc/elm/menu.edc
+++ b/data/themes/edc/elm/menu.edc
@@ -714,7 +714,7 @@ group { name: elm/menu/main_menu_submenu/default;
   }
}
 }
-/*
+
 //In the hover used by the menu only the bottom part is used.
 group { name: elm/hover/base/menu/default;
images {
@@ -1163,4 +1163,4 @@ group { name: elm/hover/base/main_menu_submenu/default;
   }
}
 }
-*/
+

-- 




Re: [E-devel] Eolian C generation

2014-02-09 Thread Daniel Zaoui
Yo felipe,

On 02/05/2014 09:39 PM, Felipe Magno de Almeida wrote:
 On Wed, Jan 29, 2014 at 12:41 PM, daniel.za...@samsung.com 
 daniel.za...@samsung.com wrote:
 [snip]


 We thought pushing next week in efl repo an example of a splitted class,
 to let people comment and review before the big change.

 I dont know if this helps anything. But I've created a C++ application that
 reads C headers and checks for what it thinks is Eo1 function definitions
 (by reading macro definitions).

 The code is at https://github.com/felipealmeida/eo-read.

 The following command:

 ./eo-read -I ~/dev/efl-eina-cxx-prefix/include/efl-1  -I
 ~/dev/efl-eina-cxx-prefix/include/evas-1/   -I
 ~/dev/efl-eina-cxx-prefix/include/eo-1/ -I
 ~/dev/efl-eina-cxx-prefix/include/eina-1  -I
 ~/dev/efl-eina-cxx-prefix/include/eina-1/eina/ -f
 ~/dev/efl-eina-cxx-prefix/include/evas-1/Evas.h

 Returns to me the following output:

 Found 428 functions

 The heuristic is basically to search macros functions that get one
 parameter and that have the following tokens as definition (with spaces or
 not between them): (someid + parameter) and save the macro's name.

 Them it looks for macro function definitions that have the following
 pattern as definition

 someid(someotheridentifier)[, EO_TYPECHECK(tokens+, paramx)]+
Do you mean this is a tool that can help us for the splitting?
Because we have some python script that does it relatively well. I mean 
that most of the changes to make are done automatically, even the return 
modifications.

Thank you anyway.


 JackDanielZ, alias me

 Regards,


--
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] ecxx = eolian + c++ bindings

2014-02-09 Thread Daniel Zaoui
Hi Savio,

Thank you for your update.

However (because there must always be a however in a mail), I have 
some issues:
- Building:
 - cmake fails on get_filename_component unknown component 
DIRECTORY. I need to change to set(EOLIAN_LIBDIR /opt/e17/lib) to 
make it work.
 - Building colourable fails on /bin/sh: 1: Syntax error: Bad fd 
number. I need to make VERBOSE=1 and then execute the line to make it 
work well. Is there another option?
 - The build takes a lot of time imo. Is there a good reason why?
/[ 16%] [ 50%] [ 50%] [ 66%] Building CXX object 
src/lib/CMakeFiles/ecxx-generator.dir/eo_class_detail_generator.cc.o//
//Building CXX object 
src/lib/CMakeFiles/ecxx-generator.dir/eo_class_generator.cc.o//
//Building CXX object 
src/lib/CMakeFiles/ecxx-generator.dir/eo_class_event_generator.cc.o//
//Building CXX object 
src/lib/CMakeFiles/ecxx-generator.dir/arguments_generator.cc.o//
//[ 83%] Building CXX object 
src/lib/CMakeFiles/ecxx-generator.dir/eo_class_operations_generator.cc.o//
//[100%] Building CXX object 
src/lib/CMakeFiles/ecxx-generator.dir/eo_version_generator.cc.o//
//Linking CXX static library libecxx-generator.a//
//[100%] Built target ecxx-generator//
//
//real0m56.008s//
//user2m30.616s//
//sys 0m6.168s//
/
- generated .hh file:
 - bad arguments names: why don't you use Eolian to retrieve the 
parameter names?
 - in extension_inheritance, why for example colour_get is taking 
int* instead of returning int?

Thank you for your support
JackDanielZ, alias Daniel the 3rd

On 02/06/2014 01:18 PM, Tom Hacohen wrote:
 On 05/02/14 14:04, Savio Sena wrote:
 Hello everyone,

 Me and Felipe Almeida have been working on the C++ bindings for EFL
 for a couple of months or so. We finally managed to have something
 usable. We would highly appreciate feedbacks, reviews and critics:

 https://github.com/expertisesolutions/ecxx

 Ecxx is integrated with Eolian -- ie, it reads classes descriptions
 from '.eo' files through it -- and can generate C++ bindings for Eo-1
 and Eo-2.

 Some examples that use Eolian as parser and C code generator:

 https://github.com/expertisesolutions/ecxx/tree/master/src/examples/eolian

 [Please notice cpp_inheritance_01.cc in special. it illustrates a cool
 feature. :-P]

 To compile run './build.sh eo1 ${PREFIX}' and check its corresponding
 build/ directory for the generated files.

 Here's the Eo-2 example. Uses Eolian only as parser. The Eo class is
 declared/defined as usual .c/.h model:

 https://github.com/expertisesolutions/ecxx/tree/master/src/examples/eo2

 To compile it run './build.sh ${PREFIX}'. (default=eo2)

 This ${PREFIX} is both your CMAKE_INSTALLATION_PREFIX (similar to
 autoconf's --prefix) but is also used as base to PKG_CONFIG_PATH.
 It's assumed you have Eolian installed in this prefix. You will also
 need cmake (=2.8), not necessarily in this prefix.

 The README.txt in the project root shows more compilation options and
 usage examples.

 I'm not a C++ guy, so I just skimmed through everything, and looked at
 the examples.

 I'm really happy with those, they look really good. I'm very glad to see
 you've integrated your work with Eolian.

 I have a couple of questions:
 1. Have you tried with more complex Eo files that represent complex Eo
 inheritance (like Evas/Elm)? I'm sure the Eolian guys have some complex
 examples.
 2. Have you taken pre-cautions into making sure generated C++ API/ABI is
 solid? I know C++ can be funny with ABI, and you have to assume people
 are going to create classes inheriting from your API, they can not break
 every time you re-generate API, and also, they can't break when we
 change something in C (that doesn't break API/ABI), like adding a new
 class, or whatever.

 --
 Tom.


 --
 Managing the Performance of Cloud-Based Applications
 Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
 Read the Whitepaper.
 http://pubads.g.doubleclick.net/gampad/clk?id=121051231iu=/4140/ostg.clktrk
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


--
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/elementary] master 01/01: label : Added the API to match the speed of label to different label

2014-02-09 Thread Davide Andreoli
2014-02-09 14:59 GMT+01:00 nirajkr niraj...@samsung.com:

 raster pushed a commit to branch master.


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

 commit 56a2c96ea7a731d6066aa7cb0964a633c5bed35c
 Author: nirajkr niraj...@samsung.com
 Date:   Sun Feb 9 22:55:38 2014 +0900

 label : Added the API to match the speed of label to different label


 Summary:
 Currently we do not set the speed of two label same
  This patch fetch the information of the previous
  label to set it to the next label to match the speed
  of the previous label


This new API is really, really bad !!!
elm_label_slide_speed_match(lb, duration, textlen); !!

what you really want here is just:
elm_label_slide_speed_set(lb, speed);

So that you can set the same speed on every label.

I vote to revert this

davemds






 Reviewers: seoz, raster

 Reviewed By: raster

 CC: singh.amitesh

 Differential Revision: https://phab.enlightenment.org/D531
 ---
  src/bin/test_label.c   | 47 
  src/lib/elm_label.c| 68
 +++---
  src/lib/elm_label_eo.h | 32 ++
  src/lib/elm_label_legacy.h | 32 ++
  src/lib/elm_widget_label.h |  5 
  5 files changed, 180 insertions(+), 4 deletions(-)

 diff --git a/src/bin/test_label.c b/src/bin/test_label.c
 index 7e6a73d..d5e7898 100644
 --- a/src/bin/test_label.c
 +++ b/src/bin/test_label.c
 @@ -113,6 +113,8 @@ void
  test_label2(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void
 *event_info EINA_UNUSED)
  {
 Evas_Object *win, *gd, *rect, *lb, *rd, *rdg, *sl;
 +   double duration;
 +   Evas_Coord textlen;

 win = elm_win_util_standard_add(label2, Label 2);
 elm_win_autodel_set(win, EINA_TRUE);
 @@ -212,6 +214,51 @@ test_label2(void *data EINA_UNUSED, Evas_Object *obj
 EINA_UNUSED, void *event_in
 elm_grid_pack(gd, sl, 5, 60, 90, 10);
 evas_object_show(sl);

 +   /*Test label slide speed */
 +   lb = elm_label_add(win);
 +   elm_object_text_set(lb, Test Label Slide Speed:);
 +   elm_label_slide_mode_set(lb, ELM_LABEL_SLIDE_MODE_ALWAYS);
 +   elm_label_slide_go(lb);
 +   elm_grid_pack(gd, lb, 5, 70, 90, 10);
 +   evas_object_show(lb);
 +
 +   rect = evas_object_rectangle_add(evas_object_evas_get(win));
 +   elm_grid_pack(gd, rect, 5, 80, 90, 10);
 +   evas_object_color_set(rect, 255, 125, 125, 255);
 +   evas_object_show(rect);
 +
 +   lb = elm_label_add(win);
 +   elm_object_style_set(lb, slide_long);
 +   elm_object_text_set(lb,
 +   This is a label set to slide and this will
 +test the speed of label with the below label.
 +This label has few extra char to test);
 +   elm_label_slide_duration_set(lb, 8.0);
 +   elm_label_slide_mode_set(lb,  ELM_LABEL_SLIDE_MODE_ALWAYS);
 +   elm_label_slide_go(lb);
 +   elm_grid_pack(gd, lb, 5, 80, 90, 10);
 +   evas_object_show(lb);
 +
 +   //Get the required parameter of the previous label
 +   duration = elm_label_slide_duration_get(lb);
 +   textlen = elm_label_slide_text_length_get(lb);
 +
 +   rect = evas_object_rectangle_add(evas_object_evas_get(win));
 +   elm_grid_pack(gd, rect, 5, 90, 90, 10);
 +   evas_object_color_set(rect, 255, 125, 125, 255);
 +   evas_object_show(rect);
 +
 +   lb = elm_label_add(win);
 +   elm_object_style_set(lb, slide_long);
 +   elm_object_text_set(lb,
 +   This is a label set to slide and this will
 +match the speed of the upper label.);
 +   elm_label_slide_mode_set(lb,  ELM_LABEL_SLIDE_MODE_ALWAYS);
 +   elm_label_slide_speed_match(lb, duration, textlen);
 +   elm_label_slide_go(lb);
 +   elm_grid_pack(gd, lb, 5, 90, 90, 10);
 +   evas_object_show(lb);
 +
 evas_object_resize(win, 320, 320);
 evas_object_show(win);
  }
 diff --git a/src/lib/elm_label.c b/src/lib/elm_label.c
 index 976b186..a46badf 100644
 --- a/src/lib/elm_label.c
 +++ b/src/lib/elm_label.c
 @@ -78,7 +78,9 @@ static void
  _label_slide_change(Evas_Object *obj)
  {
 Evas_Object *tb;
 +   Evas_Coord   lw;
 char *plaintxt;
 +   double speed;
 int plainlen = 0;

 ELM_LABEL_DATA_GET(obj, sd);
 @@ -138,6 +140,17 @@ _label_slide_change(Evas_Object *obj)
  Edje_Message_Float_Set *msg =
alloca(sizeof(Edje_Message_Float_Set) + (sizeof(double)));

 +evas_object_geometry_get(wd-resize_obj,
 +  NULL, NULL, lw, NULL);
 +if ((sd-slide_duration_recalc) 
 +(lw  0) 
 +(sd-matchslide_duration  0))
 +  {
 + speed = (sd-matchslide_textlen + lw) /
 (sd-matchslide_duration);
 + sd-slide_duration = (sd-text_formatted_length + lw) /
 (speed);
 + sd-slide_duration_recalc = EINA_FALSE;
 +  }
 +
  msg-count = 1;
  msg-val[0] = 

Re: [E-devel] Eolian meta-data parsing, episode 3 (The Ragel Strikes Back)

2014-02-09 Thread Daniel Zaoui
On 02/07/2014 12:37 PM, Carsten Haitzler (The Rasterman) wrote:
 On Fri, 07 Feb 2014 10:25:07 + Tom Hacohen tom.haco...@samsung.com said:

 On 07/02/14 00:50, Savio Sena wrote:
 daniel.za...@samsung.com daniel.za...@samsung.com writes:

 On 01/29/2014 10:46 PM, Savio Sena wrote:
 hello everyone,

 am I late to raise some questions regarding eolian syntax? I've been
 playing with it lately and I miss some features. Not sure if they are
 really relevant but I leave for the interested parts to decide.
 You are never late.
 the point that most caught my attention was that the syntax doesn't
 make distinction between regular-classes, non-instantiable classes,
 interfaces and mixins -- at least not yet? shouldn't we have them
 explicitly stated in the code?
 You are right, it is missing in the language. We can add it easily.
 similarly it's not clear which class is the parent class and which are
 classes-extensions. Eo subsystem makes this distinction clearly, as
 you all probably know: regular classes cannot inherit from neither
 interfaces nor mixins, etc. that's not explicit in current syntax.  we
 assume the first class in the inheritance list is the parent and
 subsequent are extensions perhaps? that's a bit confusing anyway. I
 would expect the language to tell me they are completely distinct
 entities. omitting in this case leads to obscurity.

 I can think of some other (potentially :)) cool features like *)
 having support to #include some.eo instead of counting on a
 global database
 I don't have any problem with that but what is the added value? And do
 you mean there would not be the global database? Of course, we can
 improve the parsing phase by parsing the eo files only when a change has
 been made and storing the db in some eet file. But for the moment, we
 want to focus on the integration into efl.

 It would allow the parser to find dependencies without having to look in
 all '.eo' files for instance. I do agree it's more profitable to focus
 on other things though...

 Anyway, we need the global database because we want to be able to
 access information on classes in live. For example, you have an IDE that
 can tell you to which event a specific widget can register...
 *) allowing user-defined implementation name instead
 of only the default name (Eg: foobar { impl {
 _foobar_alternate_impl; } } )
 Could you be more explicit?
 --- foobar.eo 
 Foobar {
  methods {
 line_draw {
func { _foobar_dfb_line_draw }
 }
  }
 };
 Hmm... This looks like you are exposing internal functions names in the
 .eo file, that's bad.
 We should just have a naming convention (added bonus that everyone agree
 what it's meant to do), and always force it to be called: _current
 class name_original class name_line_draw.
 current class name: the current class name in the eo file, in this
 example Foobar.
 original class name: where the function was first defined.
 agreed. this will make for a consistent set of generated code too - you know
 exactly what to look for, what it means and where it comes from.
The user function name is always an expected one and cannot be 
modified from .eo. The only thing you can change from the .eo is the 
legacy name and the legacy for the overriding (at least the lexer 
supports :-)), as I described in a previous mail.
 This essentially forces a nice convention all around our code, is super
 easy to do, doesn't expose extra internal bits in the .eo files, and
 saves us some typing.

 I'd hate having the func {} thing.
 100% agree.

 --
 Tom.



 --
 Managing the Performance of Cloud-Based Applications
 Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
 Read the Whitepaper.
 http://pubads.g.doubleclick.net/gampad/clk?id=121051231iu=/4140/ostg.clktrk
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel




--
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/elementary] master 01/01: label : Added the API to match the speed of label to different label

2014-02-09 Thread Daniel Juyung Seo
On Sun, Feb 9, 2014 at 11:37 PM, Davide Andreoli d...@gurumeditation.itwrote:

 2014-02-09 14:59 GMT+01:00 nirajkr niraj...@samsung.com:

  raster pushed a commit to branch master.
 
 
 
 http://git.enlightenment.org/core/elementary.git/commit/?id=56a2c96ea7a731d6066aa7cb0964a633c5bed35c
 
  commit 56a2c96ea7a731d6066aa7cb0964a633c5bed35c
  Author: nirajkr niraj...@samsung.com
  Date:   Sun Feb 9 22:55:38 2014 +0900
 
  label : Added the API to match the speed of label to different label


  Summary:
  Currently we do not set the speed of two label same
   This patch fetch the information of the previous
   label to set it to the next label to match the speed
   of the previous label
 

 This new API is really, really bad !!!
 elm_label_slide_speed_match(lb, duration, textlen); !!

 what you really want here is just:
 elm_label_slide_speed_set(lb, speed);

 So that you can set the same speed on every label.

 I vote to revert this

 davemds




+1 here.

Actually I was reviewing this patch.
elm_label_slide_speed_set(lb, speed) is acceptable to me.

And to fit your actual requirement you need
elm_label_slide_speed_match(lb1, lb2)
This matches lb1's speed to lb2's speed and when lb2's speed is changed (by
duration_set or by changing text) lb1's speed should be changed accordingly.

Thanks.

Daniel Juyung Seo (SeoZ)





 
  Reviewers: seoz, raster
 
  Reviewed By: raster
 
  CC: singh.amitesh
 
  Differential Revision: https://phab.enlightenment.org/D531
  ---
   src/bin/test_label.c   | 47 
   src/lib/elm_label.c| 68
  +++---
   src/lib/elm_label_eo.h | 32 ++
   src/lib/elm_label_legacy.h | 32 ++
   src/lib/elm_widget_label.h |  5 
   5 files changed, 180 insertions(+), 4 deletions(-)
 
  diff --git a/src/bin/test_label.c b/src/bin/test_label.c
  index 7e6a73d..d5e7898 100644
  --- a/src/bin/test_label.c
  +++ b/src/bin/test_label.c
  @@ -113,6 +113,8 @@ void
   test_label2(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void
  *event_info EINA_UNUSED)
   {
  Evas_Object *win, *gd, *rect, *lb, *rd, *rdg, *sl;
  +   double duration;
  +   Evas_Coord textlen;
 
  win = elm_win_util_standard_add(label2, Label 2);
  elm_win_autodel_set(win, EINA_TRUE);
  @@ -212,6 +214,51 @@ test_label2(void *data EINA_UNUSED, Evas_Object *obj
  EINA_UNUSED, void *event_in
  elm_grid_pack(gd, sl, 5, 60, 90, 10);
  evas_object_show(sl);
 
  +   /*Test label slide speed */
  +   lb = elm_label_add(win);
  +   elm_object_text_set(lb, Test Label Slide Speed:);
  +   elm_label_slide_mode_set(lb, ELM_LABEL_SLIDE_MODE_ALWAYS);
  +   elm_label_slide_go(lb);
  +   elm_grid_pack(gd, lb, 5, 70, 90, 10);
  +   evas_object_show(lb);
  +
  +   rect = evas_object_rectangle_add(evas_object_evas_get(win));
  +   elm_grid_pack(gd, rect, 5, 80, 90, 10);
  +   evas_object_color_set(rect, 255, 125, 125, 255);
  +   evas_object_show(rect);
  +
  +   lb = elm_label_add(win);
  +   elm_object_style_set(lb, slide_long);
  +   elm_object_text_set(lb,
  +   This is a label set to slide and this will
  +test the speed of label with the below label.
  +This label has few extra char to test);
  +   elm_label_slide_duration_set(lb, 8.0);
  +   elm_label_slide_mode_set(lb,  ELM_LABEL_SLIDE_MODE_ALWAYS);
  +   elm_label_slide_go(lb);
  +   elm_grid_pack(gd, lb, 5, 80, 90, 10);
  +   evas_object_show(lb);
  +
  +   //Get the required parameter of the previous label
  +   duration = elm_label_slide_duration_get(lb);
  +   textlen = elm_label_slide_text_length_get(lb);
  +
  +   rect = evas_object_rectangle_add(evas_object_evas_get(win));
  +   elm_grid_pack(gd, rect, 5, 90, 90, 10);
  +   evas_object_color_set(rect, 255, 125, 125, 255);
  +   evas_object_show(rect);
  +
  +   lb = elm_label_add(win);
  +   elm_object_style_set(lb, slide_long);
  +   elm_object_text_set(lb,
  +   This is a label set to slide and this will
  +match the speed of the upper label.);
  +   elm_label_slide_mode_set(lb,  ELM_LABEL_SLIDE_MODE_ALWAYS);
  +   elm_label_slide_speed_match(lb, duration, textlen);
  +   elm_label_slide_go(lb);
  +   elm_grid_pack(gd, lb, 5, 90, 90, 10);
  +   evas_object_show(lb);
  +
  evas_object_resize(win, 320, 320);
  evas_object_show(win);
   }
  diff --git a/src/lib/elm_label.c b/src/lib/elm_label.c
  index 976b186..a46badf 100644
  --- a/src/lib/elm_label.c
  +++ b/src/lib/elm_label.c
  @@ -78,7 +78,9 @@ static void
   _label_slide_change(Evas_Object *obj)
   {
  Evas_Object *tb;
  +   Evas_Coord   lw;
  char *plaintxt;
  +   double speed;
  int plainlen = 0;
 
  ELM_LABEL_DATA_GET(obj, sd);
  @@ -138,6 +140,17 @@ _label_slide_change(Evas_Object *obj)
   Edje_Message_Float_Set *msg =
 

Re: [E-devel] [EGIT] [core/elementary] master 01/01: label : Added the API to match the speed of label to different label

2014-02-09 Thread niraj kumar
Hi Davemds,SeoZ

As discussed on the IRC I tried my best to explain to you why I could not
provided elm_label_slide_speed_set.
If I had to set the speed then I must calculate it for the another label
before applying it to different label.

Since I do not have the enough information to calculate the speed so I
deferred it till I have the information.
and if I do have not have the speed of the first label so I didn't provided
the generic API elm_label_slide_speed_set
(as suggested by you on IRC )

As suggested by SeoZ  it make more sense to have API
elm_label_slide_speed_match(l1,
l2) to match the speed.

Initially I had the same implementation and but the problem is the second
part addressed by SeoZ.
If  the speed of the the first label changes then the speed of the second
label changes according to that.
It means that both the label should have the reference of each others
like *(circular
references)*  1st label is referencing
the 2nd
And the second is referencing to the first. And the library should
re-calculate it everything when ever text change or duration change
as we have to match the speed every time.

Consider the following case:

 If the application developer has set the speed of the two label as same
but now he wants to change the speed of
the first label only. How he will support it ?
Then we may have to provide a API to detach both the labels and delete the
reference from each other.

And I think App developer knows well when he want to set the speed of two
label same or not. It just require two three line
of code from application developer

To avoid this calculation I provided the API which takes duration and text
length of the first label whenever he want to set the API.

I agree with SeOZ that the API name is not proper and
elm_label_slide_speed_match(l1,
l2) make more sense


Thanks,
Niraj





On Sun, Feb 9, 2014 at 8:51 PM, Daniel Juyung Seo seojuyu...@gmail.comwrote:

 On Sun, Feb 9, 2014 at 11:37 PM, Davide Andreoli d...@gurumeditation.it
 wrote:

  2014-02-09 14:59 GMT+01:00 nirajkr niraj...@samsung.com:
 
   raster pushed a commit to branch master.
  
  
  
 
 http://git.enlightenment.org/core/elementary.git/commit/?id=56a2c96ea7a731d6066aa7cb0964a633c5bed35c
  
   commit 56a2c96ea7a731d6066aa7cb0964a633c5bed35c
   Author: nirajkr niraj...@samsung.com
   Date:   Sun Feb 9 22:55:38 2014 +0900
  
   label : Added the API to match the speed of label to different
 label
 
 
   Summary:
   Currently we do not set the speed of two label same
This patch fetch the information of the previous
label to set it to the next label to match the speed
of the previous label
  
 
  This new API is really, really bad !!!
  elm_label_slide_speed_match(lb, duration, textlen); !!
 
  what you really want here is just:
  elm_label_slide_speed_set(lb, speed);
 
  So that you can set the same speed on every label.
 
  I vote to revert this
 
  davemds
 
 
 
 
 +1 here.

 Actually I was reviewing this patch.
 elm_label_slide_speed_set(lb, speed) is acceptable to me.

 And to fit your actual requirement you need
 elm_label_slide_speed_match(lb1, lb2)
 This matches lb1's speed to lb2's speed and when lb2's speed is changed (by
 duration_set or by changing text) lb1's speed should be changed
 accordingly.

 Thanks.

 Daniel Juyung Seo (SeoZ)



 
 
  
   Reviewers: seoz, raster
  
   Reviewed By: raster
  
   CC: singh.amitesh
  
   Differential Revision: https://phab.enlightenment.org/D531
   ---
src/bin/test_label.c   | 47 
src/lib/elm_label.c| 68
   +++---
src/lib/elm_label_eo.h | 32 ++
src/lib/elm_label_legacy.h | 32 ++
src/lib/elm_widget_label.h |  5 
5 files changed, 180 insertions(+), 4 deletions(-)
  
   diff --git a/src/bin/test_label.c b/src/bin/test_label.c
   index 7e6a73d..d5e7898 100644
   --- a/src/bin/test_label.c
   +++ b/src/bin/test_label.c
   @@ -113,6 +113,8 @@ void
test_label2(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void
   *event_info EINA_UNUSED)
{
   Evas_Object *win, *gd, *rect, *lb, *rd, *rdg, *sl;
   +   double duration;
   +   Evas_Coord textlen;
  
   win = elm_win_util_standard_add(label2, Label 2);
   elm_win_autodel_set(win, EINA_TRUE);
   @@ -212,6 +214,51 @@ test_label2(void *data EINA_UNUSED, Evas_Object
 *obj
   EINA_UNUSED, void *event_in
   elm_grid_pack(gd, sl, 5, 60, 90, 10);
   evas_object_show(sl);
  
   +   /*Test label slide speed */
   +   lb = elm_label_add(win);
   +   elm_object_text_set(lb, Test Label Slide Speed:);
   +   elm_label_slide_mode_set(lb, ELM_LABEL_SLIDE_MODE_ALWAYS);
   +   elm_label_slide_go(lb);
   +   elm_grid_pack(gd, lb, 5, 70, 90, 10);
   +   evas_object_show(lb);
   +
   +   rect = evas_object_rectangle_add(evas_object_evas_get(win));
   +   elm_grid_pack(gd, rect, 5, 80, 

[EGIT] [core/elementary] master 01/01: hoversel: Added more description about elm_hoversel_item_add's callback function.

2014-02-09 Thread Daniel Juyung Seo
seoz pushed a commit to branch master.

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

commit 046f90bf963267f1fdaffc462eb59383dd09aae9
Author: Daniel Juyung Seo seojuyu...@gmail.com
Date:   Mon Feb 10 00:59:47 2014 +0900

hoversel: Added more description about elm_hoversel_item_add's callback
function.
---
 src/lib/elc_hoversel_legacy.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/lib/elc_hoversel_legacy.h b/src/lib/elc_hoversel_legacy.h
index 307f949..52d2644 100644
--- a/src/lib/elc_hoversel_legacy.h
+++ b/src/lib/elc_hoversel_legacy.h
@@ -127,7 +127,8 @@ EAPI const Eina_List 
*elm_hoversel_items_get(const Evas_Object *obj)
  * @param icon_file An image file path on disk to use for the icon or standard
  * icon name (NULL if not desired)
  * @param icon_type The icon type if relevant
- * @param func Convenience function to call when this item is selected
+ * @param func Convenience function to call when this item is selected. The 
last
+ * parameter @p event_info of @c func is the selected item pointer.
  * @param data Data to pass to item-related functions
  * @return A handle to the item added.
  *

-- 




Re: [E-devel] [EGIT] [core/elementary] master 01/01: label : Added the API to match the speed of label to different label

2014-02-09 Thread Daniel Juyung Seo
On Mon, Feb 10, 2014 at 12:39 AM, niraj kumar niraj.kumar@gmail.comwrote:

 Hi Davemds,SeoZ

 As discussed on the IRC I tried my best to explain to you why I could not
 provided elm_label_slide_speed_set.
 If I had to set the speed then I must calculate it for the another label
 before applying it to different label.

 Since I do not have the enough information to calculate the speed so I
 deferred it till I have the information.
 and if I do have not have the speed of the first label so I didn't provided
 the generic API elm_label_slide_speed_set
 (as suggested by you on IRC )


Add elm_label_slide_speed_get() and do a smart calculation in that function.
Then you'll get the correct speed. But remember forcing a smart calculation
without deep consideration will lead you a bad performance.



 As suggested by SeoZ  it make more sense to have API
 elm_label_slide_speed_match(l1,
 l2) to match the speed.

 Initially I had the same implementation and but the problem is the second
 part addressed by SeoZ.
 If  the speed of the the first label changes then the speed of the second
 label changes according to that.
 It means that both the label should have the reference of each others
 like *(circular
 references)*  1st label is referencing
 the 2nd
 And the second is referencing to the first. And the library should
 re-calculate it everything when ever text change or duration change
 as we have to match the speed every time.


Just rename it to elm_label_slide_speed_refer(lb1, lb2); and only lb2
refers lb1's speed :)
And this makes sense.
Print errors if users try to create a circular dependencies.



 Consider the following case:

  If the application developer has set the speed of the two label as same
 but now he wants to change the speed of
 the first label only. How he will support it ?
 Then we may have to provide a API to detach both the labels and delete the
 reference from each other.

 And I think App developer knows well when he want to set the speed of two
 label same or not. It just require two three line
 of code from application developer

 To avoid this calculation I provided the API which takes duration and text
 length of the first label whenever he want to set the API.


But the API name does not match with its design and behavior.


 I agree with SeOZ that the API name is not proper and
 elm_label_slide_speed_match(l1,
 l2) make more sense


I prefer having
elm_label_slide_speed_match
elm_label_slide_speed_set
elm_label_slide_speed_get

But you can add whatever you need first.
Thanks.

Daniel Juyung Seo (SeoZ)



 Thanks,
 Niraj





 On Sun, Feb 9, 2014 at 8:51 PM, Daniel Juyung Seo seojuyu...@gmail.com
 wrote:

  On Sun, Feb 9, 2014 at 11:37 PM, Davide Andreoli d...@gurumeditation.it
  wrote:
 
   2014-02-09 14:59 GMT+01:00 nirajkr niraj...@samsung.com:
  
raster pushed a commit to branch master.
   
   
   
  
 
 http://git.enlightenment.org/core/elementary.git/commit/?id=56a2c96ea7a731d6066aa7cb0964a633c5bed35c
   
commit 56a2c96ea7a731d6066aa7cb0964a633c5bed35c
Author: nirajkr niraj...@samsung.com
Date:   Sun Feb 9 22:55:38 2014 +0900
   
label : Added the API to match the speed of label to different
  label
  
  
Summary:
Currently we do not set the speed of two label same
 This patch fetch the information of the previous
 label to set it to the next label to match the speed
 of the previous label
   
  
   This new API is really, really bad !!!
   elm_label_slide_speed_match(lb, duration, textlen); !!
  
   what you really want here is just:
   elm_label_slide_speed_set(lb, speed);
  
   So that you can set the same speed on every label.
  
   I vote to revert this
  
   davemds
  
  
  
  
  +1 here.
 
  Actually I was reviewing this patch.
  elm_label_slide_speed_set(lb, speed) is acceptable to me.
 
  And to fit your actual requirement you need
  elm_label_slide_speed_match(lb1, lb2)
  This matches lb1's speed to lb2's speed and when lb2's speed is changed
 (by
  duration_set or by changing text) lb1's speed should be changed
  accordingly.
 
  Thanks.
 
  Daniel Juyung Seo (SeoZ)
 
 
 
  
  
   
Reviewers: seoz, raster
   
Reviewed By: raster
   
CC: singh.amitesh
   
Differential Revision: https://phab.enlightenment.org/D531
---
 src/bin/test_label.c   | 47 
 src/lib/elm_label.c| 68
+++---
 src/lib/elm_label_eo.h | 32 ++
 src/lib/elm_label_legacy.h | 32 ++
 src/lib/elm_widget_label.h |  5 
 5 files changed, 180 insertions(+), 4 deletions(-)
   
diff --git a/src/bin/test_label.c b/src/bin/test_label.c
index 7e6a73d..d5e7898 100644
--- a/src/bin/test_label.c
+++ b/src/bin/test_label.c
@@ -113,6 +113,8 @@ void
 test_label2(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
 

[EGIT] [core/elementary] master 01/01: test_entry: Refactored entry user style sample code.

2014-02-09 Thread Daniel Juyung Seo
seoz pushed a commit to branch master.

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

commit 0136122e1200ffc05985e8d97c39e75f5a6ca268
Author: Daniel Juyung Seo seojuyu...@gmail.com
Date:   Mon Feb 10 01:27:00 2014 +0900

test_entry: Refactored entry user style sample code.

- removed unnecessary lines.
- used proper variable name.
- used proper parent on widget add.
---
 src/bin/test_entry.c | 43 +++
 1 file changed, 15 insertions(+), 28 deletions(-)

diff --git a/src/bin/test_entry.c b/src/bin/test_entry.c
index 0e6129a..9c0e7f0 100644
--- a/src/bin/test_entry.c
+++ b/src/bin/test_entry.c
@@ -821,18 +821,17 @@ ent_bt_style_user_push(void *data, Evas_Object *obj 
EINA_UNUSED, void *event_inf
 void
 test_entry_style_user(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, 
void *event_info EINA_UNUSED)
 {
-   Evas_Object *win, *bx, *vbx, *en, *bt, *bt2;
+   Evas_Object *win, *bx, *hbx, *en, *bt, *bt2;
 
-   win = elm_win_util_standard_add(entry-style, Entry User Style);
+   win = elm_win_util_standard_add(entry-user-style, Entry User Style);
elm_win_autodel_set(win, EINA_TRUE);
-   evas_object_resize(win, 300, 300);
 
bx = elm_box_add(win);
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_win_resize_object_add(win, bx);
evas_object_show(bx);
 
-   en = elm_entry_add(win);
+   en = elm_entry_add(bx);
elm_entry_line_wrap_set(en, ELM_WRAP_MIXED);
elm_entry_text_style_user_push(en, user_style);
elm_object_text_set(en,
@@ -845,48 +844,36 @@ test_entry_style_user(void *data EINA_UNUSED, Evas_Object 
*obj EINA_UNUSED, void
evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_box_pack_end(bx, en);
-   evas_object_resize(en, 300, 300);
evas_object_show(en);
elm_object_focus_set(en, EINA_TRUE);
 
-   vbx = elm_box_add(win);
-   elm_box_horizontal_set(vbx, EINA_TRUE);
-   elm_box_pack_end(bx, vbx);
-   evas_object_show(vbx);
-   
-   bt = elm_button_add(win);
-   evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+   hbx = elm_box_add(bx);
+   elm_box_horizontal_set(hbx, EINA_TRUE);
+   elm_box_pack_end(bx, hbx);
+   evas_object_show(hbx);
+
+   bt = elm_button_add(hbx);
elm_object_text_set(bt, Peek);
evas_object_smart_callback_add(bt, clicked, ent_bt_style_user_peek, en);
-   evas_object_size_hint_weight_set(bt, 0.0, 0.0);
-   evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0.5);
-   elm_box_pack_end(vbx, bt);
-   evas_object_propagate_events_set(bt, EINA_FALSE);
+   elm_box_pack_end(hbx, bt);
elm_object_focus_allow_set(bt, EINA_FALSE);
evas_object_show(bt);
 
-   bt2 = elm_button_add(win);
-   evas_object_size_hint_weight_set(bt2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+   bt2 = elm_button_add(hbx);
elm_object_text_set(bt2, Pop);
evas_object_smart_callback_add(bt2, clicked, ent_bt_style_user_pop, en);
-   evas_object_size_hint_weight_set(bt2, 0.0, 0.0);
-   evas_object_size_hint_align_set(bt2, EVAS_HINT_FILL, 0.5);
-   elm_box_pack_end(vbx, bt2);
-   evas_object_propagate_events_set(bt2, EINA_FALSE);
+   elm_box_pack_end(hbx, bt2);
elm_object_focus_allow_set(bt2, EINA_FALSE);
evas_object_show(bt2);
 
-   bt2 = elm_button_add(win);
-   evas_object_size_hint_weight_set(bt2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+   bt2 = elm_button_add(hbx);
elm_object_text_set(bt2, Push);
evas_object_smart_callback_add(bt2, clicked, ent_bt_style_user_push, en);
-   evas_object_size_hint_weight_set(bt2, 0.0, 0.0);
-   evas_object_size_hint_align_set(bt2, EVAS_HINT_FILL, 0.5);
-   elm_box_pack_end(vbx, bt2);
-   evas_object_propagate_events_set(bt2, EINA_FALSE);
+   elm_box_pack_end(hbx, bt2);
elm_object_focus_allow_set(bt2, EINA_FALSE);
evas_object_show(bt2);
 
+   evas_object_resize(win, 300, 100);
evas_object_show(win);
 }
 

-- 




[EGIT] [misc/entrance] master 01/01: Bug Fix, actions are not having any icons !

2014-02-09 Thread Marcel Hollerbach
bu5hm4n pushed a commit to branch master.

http://git.enlightenment.org/misc/entrance.git/commit/?id=1160e12c0c78892142200a89e1881b3f47818ee6

commit 1160e12c0c78892142200a89e1881b3f47818ee6
Author: Marcel Hollerbach marcel.hollerb...@stzedn.de
Date:   Sun Feb 9 17:35:57 2014 +0100

Bug Fix, actions are not having any icons !
---
 src/bin/entrance_gui.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/bin/entrance_gui.c b/src/bin/entrance_gui.c
index 0aa6462..2073305 100755
--- a/src/bin/entrance_gui.c
+++ b/src/bin/entrance_gui.c
@@ -583,6 +583,8 @@ _entrance_gui_action_text_get(void *data, Evas_Object *obj 
EINA_UNUSED, const ch
 {
Entrance_Action *ea;
ea = data;
+   if ((part)  (!strcmp(part, icon)))
+ return NULL;
return strdup(ea-label);
 }
 

-- 




Re: [E-devel] [EGIT] [core/elementary] master 01/01: label : Added the API to match the speed of label to different label

2014-02-09 Thread niraj kumar
Hi SeoZ,

Since you have always encouraged me always to voice my opinion please find
my reply :)


1. We have already discussed it until and unless the label does not get
rendered
we can not get the width of the label(in pixels). Please correct me if I am
missing anything.
If I can get the width of the label before setting the duration/speed then
I am more happy
to implement getter/setter for the widget .

I tried to do the smart calculation for size but I could not figure it out
how to do it and since
I am just few month old in elementary I just looked at the other widget
codes and no widget
has done this calculation before once the SMART_RESIZE call ( maybe I
missed something).
In my test code (application code ) slide_speed_get would definitely get
called before SMART RESIZE
event so I don't have the label width till that point ( I defered the speed
calculation till I have it).
Please suggest how to do it I will modify the code (or I will spend more
time to figure it out).


2.  For elm_label_slide_speed_refer consider the following code

If application developer has 7-10 slides e.g l1, l2, l3, l4 ,l5, l6, l7
 It is very common if the requirement would be to match the speed of
all the label only initially

 so he may write
elm_label_slide_speed_refer(l1,l2)
elm_label_slide_speed_refer(l2,l3)
elm_label_slide_speed_refer(l3,l4)
elm_label_slide_speed_refer(l4,l5)
elm_label_slide_speed_refer(l5,l6)
elm_label_slide_speed_refer(l6,l7)

  Not in one block but different part of code :) . Now if for some (events)
requirement l7 text get changed
  Now should we change the speed of every label (which does not seems to be
the intent behaviour of the user).
   because in single way the dependence graph is like that l1 - l2 - l3
- l4 - l5 - l6 - l7.


   The above was just one way. As I mentioned in the previous post if our
requirement is both way as you
   asked in your previous post then it is almost impossible to implement
 it,  as after every elm_label_slide_speed_refer
   call we have to update the info in every label and add the new label
reference.

  Why not let the application developer do it . It may give him more
freedom to handle the different label differently
  and set the same speed if it is really required. And the application
developer must have the info (events) about the same.
  The app developer has just to write two line of code to fetch the info.

I have just voiced my opinion I hope I would surely learn lots from
this thread :) .

Thanks,
Niraj


On Sun, Feb 9, 2014 at 9:53 PM, Daniel Juyung Seo seojuyu...@gmail.comwrote:

 On Mon, Feb 10, 2014 at 12:39 AM, niraj kumar niraj.kumar@gmail.com
 wrote:

  Hi Davemds,SeoZ
 
  As discussed on the IRC I tried my best to explain to you why I could not
  provided elm_label_slide_speed_set.
  If I had to set the speed then I must calculate it for the another label
  before applying it to different label.
 
  Since I do not have the enough information to calculate the speed so I
  deferred it till I have the information.
  and if I do have not have the speed of the first label so I didn't
 provided
  the generic API elm_label_slide_speed_set
  (as suggested by you on IRC )
 

 Add elm_label_slide_speed_get() and do a smart calculation in that
 function.
 Then you'll get the correct speed. But remember forcing a smart calculation
 without deep consideration will lead you a bad performance.


 
  As suggested by SeoZ  it make more sense to have API
  elm_label_slide_speed_match(l1,
  l2) to match the speed.
 
  Initially I had the same implementation and but the problem is the second
  part addressed by SeoZ.
  If  the speed of the the first label changes then the speed of the second
  label changes according to that.
  It means that both the label should have the reference of each others
  like *(circular
  references)*  1st label is referencing
  the 2nd
  And the second is referencing to the first. And the library should
  re-calculate it everything when ever text change or duration change
  as we have to match the speed every time.
 

 Just rename it to elm_label_slide_speed_refer(lb1, lb2); and only lb2
 refers lb1's speed :)
 And this makes sense.
 Print errors if users try to create a circular dependencies.


 
  Consider the following case:
 
   If the application developer has set the speed of the two label as same
  but now he wants to change the speed of
  the first label only. How he will support it ?
  Then we may have to provide a API to detach both the labels and delete
 the
  reference from each other.
 
  And I think App developer knows well when he want to set the speed of two
  label same or not. It just require two three line
  of code from application developer
 
  To avoid this calculation I provided the API which takes duration and
 text
  length of the first label whenever he want to set the API.
 
 
 But the API name does not match with its design and behavior.


  I agree 

Re: [E-devel] [EGIT] [core/elementary] master 01/01: label : Added the API to match the speed of label to different label

2014-02-09 Thread Davide Andreoli
2014-02-09 18:23 GMT+01:00 niraj kumar niraj.kumar@gmail.com:

 Hi SeoZ,

 Since you have always encouraged me always to voice my opinion please find
 my reply :)


 1. We have already discussed it until and unless the label does not get
 rendered
 we can not get the width of the label(in pixels). Please correct me if I am
 missing anything.


In the test you added to elm you are getting the text length (using
elm_label_slide_text_length_get) before any rendering occur, just after
the text_set call... or I'm missing something here ?


 If I can get the width of the label before setting the duration/speed then
 I am more happy
 to implement getter/setter for the widget .

 I tried to do the smart calculation for size but I could not figure it out
 how to do it and since
 I am just few month old in elementary I just looked at the other widget
 codes and no widget
 has done this calculation before once the SMART_RESIZE call ( maybe I
 missed something).
 In my test code (application code ) slide_speed_get would definitely get
 called before SMART RESIZE
 event so I don't have the label width till that point ( I defered the speed
 calculation till I have it).
 Please suggest how to do it I will modify the code (or I will spend more
 time to figure it out).


again, isn't the elm_label_slide_text_length_get() what are you searching
for ?
It seems to me that you don't have to do any smart calculation




 2.  For elm_label_slide_speed_refer consider the following code

 If application developer has 7-10 slides e.g l1, l2, l3, l4 ,l5, l6, l7
  It is very common if the requirement would be to match the speed of
 all the label only initially

  so he may write
 elm_label_slide_speed_refer(l1,l2)
 elm_label_slide_speed_refer(l2,l3)
 elm_label_slide_speed_refer(l3,l4)
 elm_label_slide_speed_refer(l4,l5)
 elm_label_slide_speed_refer(l5,l6)
 elm_label_slide_speed_refer(l6,l7)

   Not in one block but different part of code :) . Now if for some (events)
 requirement l7 text get changed
   Now should we change the speed of every label (which does not seems to be
 the intent behaviour of the user).
because in single way the dependence graph is like that l1 - l2 - l3
 - l4 - l5 - l6 - l7.


The above was just one way. As I mentioned in the previous post if our
 requirement is both way as you
asked in your previous post then it is almost impossible to implement
  it,  as after every elm_label_slide_speed_refer
call we have to update the info in every label and add the new label
 reference.


This is why I think that _refer() is not needed and speed_set/get() is all
you need.
example:

elm_label_slide_speed_set(l1, 10)
elm_label_slide_speed_set(l2, 10)
elm_label_slide_speed_set(l3, 10)


The speed should be constant (10px/sec) for every label, so no complex
graph required and every label will always slide at the same speed, also if
you change
the text in one of those. Of course you will need to recalculate and
reapply the duration
of the slide when the text or the size of the label change.




   Why not let the application developer do it . It may give him more
 freedom to handle the different label differently
   and set the same speed if it is really required. And the application
 developer must have the info (events) about the same.
   The app developer has just to write two line of code to fetch the info.

 I have just voiced my opinion I hope I would surely learn lots from
 this thread :) .


We are happy to hear your (and all the others) voices, the community is
here to discuss stuff and to find the best possible solution to every
problem
we can find :)

Your patch need further discussion and more code to implement in a good way,
this is why I'm asking to revert. Also don't forget that we will be in
feature freeze
from tomorrow !! if your bad api function goes in now it will stay as is
until 2.0
and we will have to maintain and support it for years.

So again: please REVERT so that we can discuss and implement it in the best
possible way, elm is yet full of bad-looking api, we don't need a new one

davemds




 Thanks,
 Niraj


 On Sun, Feb 9, 2014 at 9:53 PM, Daniel Juyung Seo seojuyu...@gmail.com
 wrote:

  On Mon, Feb 10, 2014 at 12:39 AM, niraj kumar niraj.kumar@gmail.com
  wrote:
 
   Hi Davemds,SeoZ
  
   As discussed on the IRC I tried my best to explain to you why I could
 not
   provided elm_label_slide_speed_set.
   If I had to set the speed then I must calculate it for the another
 label
   before applying it to different label.
  
   Since I do not have the enough information to calculate the speed so I
   deferred it till I have the information.
   and if I do have not have the speed of the first label so I didn't
  provided
   the generic API elm_label_slide_speed_set
   (as suggested by you on IRC )
  
 
  Add elm_label_slide_speed_get() and do a smart calculation in that
  function.
  Then you'll get the correct speed. 

Re: [E-devel] [EGIT] [core/elementary] master 01/01: test_entry: Refactored entry user style sample code.

2014-02-09 Thread Davide Andreoli
2014-02-09 17:29 GMT+01:00 Daniel Juyung Seo seojuyu...@gmail.com:

 seoz pushed a commit to branch master.


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

 commit 0136122e1200ffc05985e8d97c39e75f5a6ca268
 Author: Daniel Juyung Seo seojuyu...@gmail.com
 Date:   Mon Feb 10 01:27:00 2014 +0900

 test_entry: Refactored entry user style sample code.

 - removed unnecessary lines.
 - used proper variable name.
 - used proper parent on widget add.


Great, thanks!
agree with every changes you made... except:
evas_object_resize(win, 300, 100);

it was (300, 300) and that size was not respected,
now it looks better but you have hidden a bug this way.

davemds


 ---
  src/bin/test_entry.c | 43 +++
  1 file changed, 15 insertions(+), 28 deletions(-)

 diff --git a/src/bin/test_entry.c b/src/bin/test_entry.c
 index 0e6129a..9c0e7f0 100644
 --- a/src/bin/test_entry.c
 +++ b/src/bin/test_entry.c
 @@ -821,18 +821,17 @@ ent_bt_style_user_push(void *data, Evas_Object *obj
 EINA_UNUSED, void *event_inf
  void
  test_entry_style_user(void *data EINA_UNUSED, Evas_Object *obj
 EINA_UNUSED, void *event_info EINA_UNUSED)
  {
 -   Evas_Object *win, *bx, *vbx, *en, *bt, *bt2;
 +   Evas_Object *win, *bx, *hbx, *en, *bt, *bt2;

 -   win = elm_win_util_standard_add(entry-style, Entry User Style);
 +   win = elm_win_util_standard_add(entry-user-style, Entry User
 Style);
 elm_win_autodel_set(win, EINA_TRUE);
 -   evas_object_resize(win, 300, 300);

 bx = elm_box_add(win);
 evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND,
 EVAS_HINT_EXPAND);
 elm_win_resize_object_add(win, bx);
 evas_object_show(bx);

 -   en = elm_entry_add(win);
 +   en = elm_entry_add(bx);
 elm_entry_line_wrap_set(en, ELM_WRAP_MIXED);
 elm_entry_text_style_user_push(en, user_style);
 elm_object_text_set(en,
 @@ -845,48 +844,36 @@ test_entry_style_user(void *data EINA_UNUSED,
 Evas_Object *obj EINA_UNUSED, void
 evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND,
 EVAS_HINT_EXPAND);
 evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL);
 elm_box_pack_end(bx, en);
 -   evas_object_resize(en, 300, 300);
 evas_object_show(en);
 elm_object_focus_set(en, EINA_TRUE);

 -   vbx = elm_box_add(win);
 -   elm_box_horizontal_set(vbx, EINA_TRUE);
 -   elm_box_pack_end(bx, vbx);
 -   evas_object_show(vbx);
 -
 -   bt = elm_button_add(win);
 -   evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND,
 EVAS_HINT_EXPAND);
 +   hbx = elm_box_add(bx);
 +   elm_box_horizontal_set(hbx, EINA_TRUE);
 +   elm_box_pack_end(bx, hbx);
 +   evas_object_show(hbx);
 +
 +   bt = elm_button_add(hbx);
 elm_object_text_set(bt, Peek);
 evas_object_smart_callback_add(bt, clicked, ent_bt_style_user_peek,
 en);
 -   evas_object_size_hint_weight_set(bt, 0.0, 0.0);
 -   evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0.5);
 -   elm_box_pack_end(vbx, bt);
 -   evas_object_propagate_events_set(bt, EINA_FALSE);
 +   elm_box_pack_end(hbx, bt);
 elm_object_focus_allow_set(bt, EINA_FALSE);
 evas_object_show(bt);

 -   bt2 = elm_button_add(win);
 -   evas_object_size_hint_weight_set(bt2, EVAS_HINT_EXPAND,
 EVAS_HINT_EXPAND);
 +   bt2 = elm_button_add(hbx);
 elm_object_text_set(bt2, Pop);
 evas_object_smart_callback_add(bt2, clicked, ent_bt_style_user_pop,
 en);
 -   evas_object_size_hint_weight_set(bt2, 0.0, 0.0);
 -   evas_object_size_hint_align_set(bt2, EVAS_HINT_FILL, 0.5);
 -   elm_box_pack_end(vbx, bt2);
 -   evas_object_propagate_events_set(bt2, EINA_FALSE);
 +   elm_box_pack_end(hbx, bt2);
 elm_object_focus_allow_set(bt2, EINA_FALSE);
 evas_object_show(bt2);

 -   bt2 = elm_button_add(win);
 -   evas_object_size_hint_weight_set(bt2, EVAS_HINT_EXPAND,
 EVAS_HINT_EXPAND);
 +   bt2 = elm_button_add(hbx);
 elm_object_text_set(bt2, Push);
 evas_object_smart_callback_add(bt2, clicked, ent_bt_style_user_push,
 en);
 -   evas_object_size_hint_weight_set(bt2, 0.0, 0.0);
 -   evas_object_size_hint_align_set(bt2, EVAS_HINT_FILL, 0.5);
 -   elm_box_pack_end(vbx, bt2);
 -   evas_object_propagate_events_set(bt2, EINA_FALSE);
 +   elm_box_pack_end(hbx, bt2);
 elm_object_focus_allow_set(bt2, EINA_FALSE);
 evas_object_show(bt2);

 +   evas_object_resize(win, 300, 100);
 evas_object_show(win);
  }


 --



--
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/elementary] master 01/01: label : Added the API to match the speed of label to different label

2014-02-09 Thread niraj kumar
Davemds,

Come on you can't blame me for what  you consider  elm is yet full of
bad-looking api . Because I have hardly contributed much :)
For me a bad API are those  which breaks existing behavior 

When I said that I would learn things/voice my opinion  I was expecting a
solution from you  :)  which I have not got from you

niraj




On Sun, Feb 9, 2014 at 11:34 PM, Davide Andreoli d...@gurumeditation.itwrote:

 2014-02-09 18:23 GMT+01:00 niraj kumar niraj.kumar@gmail.com:

  Hi SeoZ,
 
  Since you have always encouraged me always to voice my opinion please
 find
  my reply :)
 
 
  1. We have already discussed it until and unless the label does not get
  rendered
  we can not get the width of the label(in pixels). Please correct me if I
 am
  missing anything.
 

 In the test you added to elm you are getting the text length (using
 elm_label_slide_text_length_get) before any rendering occur, just after
 the text_set call... or I'm missing something here ?


  If I can get the width of the label before setting the duration/speed
 then
  I am more happy
  to implement getter/setter for the widget .
 
  I tried to do the smart calculation for size but I could not figure it
 out
  how to do it and since
  I am just few month old in elementary I just looked at the other widget
  codes and no widget
  has done this calculation before once the SMART_RESIZE call ( maybe I
  missed something).
  In my test code (application code ) slide_speed_get would definitely get
  called before SMART RESIZE
  event so I don't have the label width till that point ( I defered the
 speed
  calculation till I have it).
  Please suggest how to do it I will modify the code (or I will spend more
  time to figure it out).
 

 again, isn't the elm_label_slide_text_length_get() what are you searching
 for ?
 It seems to me that you don't have to do any smart calculation


 
 
  2.  For elm_label_slide_speed_refer consider the following code
 
  If application developer has 7-10 slides e.g l1, l2, l3, l4 ,l5, l6,
 l7
   It is very common if the requirement would be to match the speed of
  all the label only initially
 
   so he may write
  elm_label_slide_speed_refer(l1,l2)
  elm_label_slide_speed_refer(l2,l3)
  elm_label_slide_speed_refer(l3,l4)
  elm_label_slide_speed_refer(l4,l5)
  elm_label_slide_speed_refer(l5,l6)
  elm_label_slide_speed_refer(l6,l7)
 
Not in one block but different part of code :) . Now if for some
 (events)
  requirement l7 text get changed
Now should we change the speed of every label (which does not seems to
 be
  the intent behaviour of the user).
 because in single way the dependence graph is like that l1 - l2 - l3
  - l4 - l5 - l6 - l7.
 
 
 The above was just one way. As I mentioned in the previous post if our
  requirement is both way as you
 asked in your previous post then it is almost impossible to implement
   it,  as after every elm_label_slide_speed_refer
 call we have to update the info in every label and add the new label
  reference.
 

 This is why I think that _refer() is not needed and speed_set/get() is all
 you need.
 example:

 elm_label_slide_speed_set(l1, 10)
 elm_label_slide_speed_set(l2, 10)
 elm_label_slide_speed_set(l3, 10)
 

 The speed should be constant (10px/sec) for every label, so no complex
 graph required and every label will always slide at the same speed, also if
 you change
 the text in one of those. Of course you will need to recalculate and
 reapply the duration
 of the slide when the text or the size of the label change.



 
Why not let the application developer do it . It may give him more
  freedom to handle the different label differently
and set the same speed if it is really required. And the application
  developer must have the info (events) about the same.
The app developer has just to write two line of code to fetch the info.
 
  I have just voiced my opinion I hope I would surely learn lots from
  this thread :) .
 

 We are happy to hear your (and all the others) voices, the community is
 here to discuss stuff and to find the best possible solution to every
 problem
 we can find :)

 Your patch need further discussion and more code to implement in a good
 way,
 this is why I'm asking to revert. Also don't forget that we will be in
 feature freeze
 from tomorrow !! if your bad api function goes in now it will stay as is
 until 2.0
 and we will have to maintain and support it for years.

 So again: please REVERT so that we can discuss and implement it in the best
 possible way, elm is yet full of bad-looking api, we don't need a new one

 davemds



 
  Thanks,
  Niraj
 
 
  On Sun, Feb 9, 2014 at 9:53 PM, Daniel Juyung Seo seojuyu...@gmail.com
  wrote:
 
   On Mon, Feb 10, 2014 at 12:39 AM, niraj kumar 
 niraj.kumar@gmail.com
   wrote:
  
Hi Davemds,SeoZ
   
As discussed on the IRC I tried my best to explain to you why I could
  not

Re: [E-devel] [EGIT] [core/elementary] master 01/01: label : Added the API to match the speed of label to different label

2014-02-09 Thread Davide Andreoli
2014-02-09 19:33 GMT+01:00 niraj kumar niraj.kumar@gmail.com:

 Davemds,

 Come on you can't blame me for what  you consider  elm is yet full of
 bad-looking api . Because I have hardly contributed much :)
 For me a bad API are those  which breaks existing behavior 


I'm not blaming you, really, I'm just expressing my idea, I hope you did
not take this as an offense. Peace!



 When I said that I would learn things/voice my opinion  I was expecting a
 solution from you  :)  which I have not got from you


I told you the solution IMO is better: the  way is to implement
speed_get/set() and use only those.

Will you be happy with only speed_set/get? I'm asking because I did not
understand
well your use case.

I'm trying NOW to write those 2 api, If I can do before the freeze I will
commit my
work this night. You can find me in irc if you like.

davemds




 niraj




 On Sun, Feb 9, 2014 at 11:34 PM, Davide Andreoli d...@gurumeditation.it
 wrote:

  2014-02-09 18:23 GMT+01:00 niraj kumar niraj.kumar@gmail.com:
 
   Hi SeoZ,
  
   Since you have always encouraged me always to voice my opinion please
  find
   my reply :)
  
  
   1. We have already discussed it until and unless the label does not get
   rendered
   we can not get the width of the label(in pixels). Please correct me if
 I
  am
   missing anything.
  
 
  In the test you added to elm you are getting the text length (using
  elm_label_slide_text_length_get) before any rendering occur, just after
  the text_set call... or I'm missing something here ?
 
 
   If I can get the width of the label before setting the duration/speed
  then
   I am more happy
   to implement getter/setter for the widget .
  
   I tried to do the smart calculation for size but I could not figure it
  out
   how to do it and since
   I am just few month old in elementary I just looked at the other widget
   codes and no widget
   has done this calculation before once the SMART_RESIZE call ( maybe I
   missed something).
   In my test code (application code ) slide_speed_get would definitely
 get
   called before SMART RESIZE
   event so I don't have the label width till that point ( I defered the
  speed
   calculation till I have it).
   Please suggest how to do it I will modify the code (or I will spend
 more
   time to figure it out).
  
 
  again, isn't the elm_label_slide_text_length_get() what are you searching
  for ?
  It seems to me that you don't have to do any smart calculation
 
 
  
  
   2.  For elm_label_slide_speed_refer consider the following code
  
   If application developer has 7-10 slides e.g l1, l2, l3, l4 ,l5,
 l6,
  l7
It is very common if the requirement would be to match the speed
 of
   all the label only initially
  
so he may write
   elm_label_slide_speed_refer(l1,l2)
   elm_label_slide_speed_refer(l2,l3)
   elm_label_slide_speed_refer(l3,l4)
   elm_label_slide_speed_refer(l4,l5)
   elm_label_slide_speed_refer(l5,l6)
   elm_label_slide_speed_refer(l6,l7)
  
 Not in one block but different part of code :) . Now if for some
  (events)
   requirement l7 text get changed
 Now should we change the speed of every label (which does not seems
 to
  be
   the intent behaviour of the user).
  because in single way the dependence graph is like that l1 - l2 -
 l3
   - l4 - l5 - l6 - l7.
  
  
  The above was just one way. As I mentioned in the previous post if
 our
   requirement is both way as you
  asked in your previous post then it is almost impossible to
 implement
it,  as after every elm_label_slide_speed_refer
  call we have to update the info in every label and add the new label
   reference.
  
 
  This is why I think that _refer() is not needed and speed_set/get() is
 all
  you need.
  example:
 
  elm_label_slide_speed_set(l1, 10)
  elm_label_slide_speed_set(l2, 10)
  elm_label_slide_speed_set(l3, 10)
  
 
  The speed should be constant (10px/sec) for every label, so no complex
  graph required and every label will always slide at the same speed, also
 if
  you change
  the text in one of those. Of course you will need to recalculate and
  reapply the duration
  of the slide when the text or the size of the label change.
 
 
 
  
 Why not let the application developer do it . It may give him more
   freedom to handle the different label differently
 and set the same speed if it is really required. And the application
   developer must have the info (events) about the same.
 The app developer has just to write two line of code to fetch the
 info.
  
   I have just voiced my opinion I hope I would surely learn lots from
   this thread :) .
  
 
  We are happy to hear your (and all the others) voices, the community is
  here to discuss stuff and to find the best possible solution to every
  problem
  we can find :)
 
  Your patch need further discussion and more code to implement in a good
  way,
  this is why I'm asking to 

[E-devel] SlackE18 is out!

2014-02-09 Thread Jérôme Pinot

Hi,

I'm pleased to announce the first release of SlackE18[1]. Like SlackE17, it
provides Enlightenment related pre-built packages to use with Linux Slackware.
You can install SlackE18 either using the tarball from SourceForge[2]. It
contains all the packages that you can install using the standard pkgtools.
You can also use Slackpkg+[3]
SlackE18 is already available for Slackware and Slackware64. The ARM build will
come very soon.

More details: http://ngc891.blogdns.net/?p=365 

[1] http://slacke18.sf.net/
[2] http://sourceforge.net/projects/slacke18/files/slacke18/0.18.3/ 
[3] http://ngc891.blogdns.net/pub/slacke18/slackpkgplus.txt 

-- 
Jérôme Pinot
http://ngc891.blogdns.net/


signature.asc
Description: Digital signature
--
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231iu=/4140/ostg.clktrk___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/elementary] master 02/02: Label: add 2 new api for setting the slide animation speed.

2014-02-09 Thread davemds
davemds pushed a commit to branch master.

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

commit cc07e231e9c2b2c59e36f4c0d13f36d4e59bd5f3
Author: davemds d...@gurumeditation.it
Date:   Mon Feb 10 00:13:03 2014 +0100

Label: add 2 new api for setting the slide animation speed.

Added API:
void elm_label_slide_speed_set(Evas_Object *obj, double speed);
double elm_label_slide_speed_get(const Evas_Object *obj);

This work is based on the previous reverted commit by nirajkr, thanks!
I hope this will fullfill his requirement, please let me know of
any problems.
---
 src/bin/test_label.c   | 100 +++--
 src/lib/elm_label.c|  92 +++--
 src/lib/elm_label_eo.h |  34 ++-
 src/lib/elm_label_legacy.h |  27 +++-
 src/lib/elm_widget_label.h |   2 +
 5 files changed, 208 insertions(+), 47 deletions(-)

diff --git a/src/bin/test_label.c b/src/bin/test_label.c
index 7e6a73d..abaf837 100644
--- a/src/bin/test_label.c
+++ b/src/bin/test_label.c
@@ -100,19 +100,35 @@ _cb_size_radio_changed(void *data, Evas_Object *obj, void 
*event EINA_UNUSED)
 }
 
 static void
-_change_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
+_duration_change_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
 {
Evas_Object *lb = (Evas_Object *)data;
double val = elm_slider_value_get(obj);
+
elm_label_slide_duration_set(lb, val);
-   elm_label_slide_mode_set(lb, ELM_LABEL_SLIDE_MODE_ALWAYS);
elm_label_slide_go(lb);
+
+   Evas_Object *sl = evas_object_data_get(lb, speed_slider);
+   elm_slider_value_set(sl, elm_label_slide_speed_get(lb));
+}
+
+static void
+_speed_change_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
+{
+   Evas_Object *lb = (Evas_Object *)data;
+   double val = elm_slider_value_get(obj);
+
+   elm_label_slide_speed_set(lb, val);
+   elm_label_slide_go(lb);
+
+   Evas_Object *sl = evas_object_data_get(lb, duration_slider);
+   elm_slider_value_set(sl, elm_label_slide_duration_get(lb));
 }
 
 void
 test_label2(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {
-   Evas_Object *win, *gd, *rect, *lb, *rd, *rdg, *sl;
+   Evas_Object *win, *gd, *rect, *lb, *lb1, *lb2, *rd, *rdg, *sl;
 
win = elm_win_util_standard_add(label2, Label 2);
elm_win_autodel_set(win, EINA_TRUE);
@@ -126,13 +142,11 @@ test_label2(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_in
/* Test Label Ellipsis */
lb = elm_label_add(win);
elm_object_text_set(lb, Test Label Ellipsis:);
-   elm_label_slide_mode_set(lb, ELM_LABEL_SLIDE_MODE_ALWAYS);
-   elm_label_slide_go(lb);
-   elm_grid_pack(gd, lb, 5, 5, 90, 10);
+   elm_grid_pack(gd, lb, 5, 0, 90, 10);
evas_object_show(lb);
 
rect = evas_object_rectangle_add(evas_object_evas_get(win));
-   elm_grid_pack(gd, rect, 5, 15, 90, 10);
+   elm_grid_pack(gd, rect, 5, 10, 90, 10);
evas_object_color_set(rect, 255, 125, 125, 255);
evas_object_show(rect);
 
@@ -144,19 +158,17 @@ test_label2(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_in
at the end of the widget.
);
elm_label_ellipsis_set(lb, EINA_TRUE);
-   elm_grid_pack(gd, lb, 5, 15, 90, 10);
+   elm_grid_pack(gd, lb, 5, 10, 90, 10);
evas_object_show(lb);
 
/* Test Label Slide */
lb = elm_label_add(win);
elm_object_text_set(lb, Test Label Slide:);
-   elm_label_slide_mode_set(lb, ELM_LABEL_SLIDE_MODE_ALWAYS);
-   elm_label_slide_go(lb);
-   elm_grid_pack(gd, lb, 5, 30, 90, 10);
+   elm_grid_pack(gd, lb, 5, 20, 90, 10);
evas_object_show(lb);
 
rect = evas_object_rectangle_add(evas_object_evas_get(win));
-   elm_grid_pack(gd, rect, 5, 40, 90, 10);
+   elm_grid_pack(gd, rect, 5, 30, 90, 10);
evas_object_color_set(rect, 255, 125, 125, 255);
evas_object_show(rect);
 
@@ -169,9 +181,10 @@ test_label2(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_in
This only works with the themes \slide_short\, 
\slide_long\ and \slide_bounce\.
);
-   elm_label_slide_mode_set(lb, ELM_LABEL_SLIDE_MODE_ALWAYS);
+   elm_label_slide_mode_set(lb, ELM_LABEL_SLIDE_MODE_AUTO);
+   elm_label_slide_speed_set(lb, 40.0);
elm_label_slide_go(lb);
-   elm_grid_pack(gd, lb, 5, 40, 90, 10);
+   elm_grid_pack(gd, lb, 5, 30, 90, 10);
evas_object_show(lb);
 
rd = elm_radio_add(win);
@@ -179,7 +192,7 @@ test_label2(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_in
elm_object_text_set(rd, slide_short);
evas_object_size_hint_weight_set(rd, EVAS_HINT_EXPAND, EVAS_HINT_FILL);
evas_object_smart_callback_add(rd, changed, _cb_size_radio_changed, lb);
-   elm_grid_pack(gd, rd, 5, 50, 30, 10);
+   elm_grid_pack(gd, rd, 5, 40, 30, 10);

[EGIT] [core/elementary] master 01/02: Revert label : Added the API to match the speed of label to different label

2014-02-09 Thread davemds
davemds pushed a commit to branch master.

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

commit 3ce61868e88fa95d507e01587bf4cbbec9b0d1a1
Author: davemds d...@gurumeditation.it
Date:   Sun Feb 9 20:21:21 2014 +0100

Revert label : Added the API to match the speed of label to different 
label

As discussed I will try to implement the same functionality but with a 
different api.

This reverts commit 56a2c96ea7a731d6066aa7cb0964a633c5bed35c.
---
 src/bin/test_label.c   | 47 
 src/lib/elm_label.c| 68 +++---
 src/lib/elm_label_eo.h | 32 --
 src/lib/elm_label_legacy.h | 32 --
 src/lib/elm_widget_label.h |  5 
 5 files changed, 4 insertions(+), 180 deletions(-)

diff --git a/src/bin/test_label.c b/src/bin/test_label.c
index d5e7898..7e6a73d 100644
--- a/src/bin/test_label.c
+++ b/src/bin/test_label.c
@@ -113,8 +113,6 @@ void
 test_label2(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {
Evas_Object *win, *gd, *rect, *lb, *rd, *rdg, *sl;
-   double duration;
-   Evas_Coord textlen;
 
win = elm_win_util_standard_add(label2, Label 2);
elm_win_autodel_set(win, EINA_TRUE);
@@ -214,51 +212,6 @@ test_label2(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_in
elm_grid_pack(gd, sl, 5, 60, 90, 10);
evas_object_show(sl);
 
-   /*Test label slide speed */
-   lb = elm_label_add(win);
-   elm_object_text_set(lb, Test Label Slide Speed:);
-   elm_label_slide_mode_set(lb, ELM_LABEL_SLIDE_MODE_ALWAYS);
-   elm_label_slide_go(lb);
-   elm_grid_pack(gd, lb, 5, 70, 90, 10);
-   evas_object_show(lb);
-
-   rect = evas_object_rectangle_add(evas_object_evas_get(win));
-   elm_grid_pack(gd, rect, 5, 80, 90, 10);
-   evas_object_color_set(rect, 255, 125, 125, 255);
-   evas_object_show(rect);
-
-   lb = elm_label_add(win);
-   elm_object_style_set(lb, slide_long);
-   elm_object_text_set(lb,
-   This is a label set to slide and this will
-test the speed of label with the below label.
-This label has few extra char to test);
-   elm_label_slide_duration_set(lb, 8.0);
-   elm_label_slide_mode_set(lb,  ELM_LABEL_SLIDE_MODE_ALWAYS);
-   elm_label_slide_go(lb);
-   elm_grid_pack(gd, lb, 5, 80, 90, 10);
-   evas_object_show(lb);
-
-   //Get the required parameter of the previous label
-   duration = elm_label_slide_duration_get(lb);
-   textlen = elm_label_slide_text_length_get(lb);
-
-   rect = evas_object_rectangle_add(evas_object_evas_get(win));
-   elm_grid_pack(gd, rect, 5, 90, 90, 10);
-   evas_object_color_set(rect, 255, 125, 125, 255);
-   evas_object_show(rect);
-
-   lb = elm_label_add(win);
-   elm_object_style_set(lb, slide_long);
-   elm_object_text_set(lb,
-   This is a label set to slide and this will
-match the speed of the upper label.);
-   elm_label_slide_mode_set(lb,  ELM_LABEL_SLIDE_MODE_ALWAYS);
-   elm_label_slide_speed_match(lb, duration, textlen);
-   elm_label_slide_go(lb);
-   elm_grid_pack(gd, lb, 5, 90, 90, 10);
-   evas_object_show(lb);
-
evas_object_resize(win, 320, 320);
evas_object_show(win);
 }
diff --git a/src/lib/elm_label.c b/src/lib/elm_label.c
index a46badf..976b186 100644
--- a/src/lib/elm_label.c
+++ b/src/lib/elm_label.c
@@ -78,9 +78,7 @@ static void
 _label_slide_change(Evas_Object *obj)
 {
Evas_Object *tb;
-   Evas_Coord   lw;
char *plaintxt;
-   double speed;
int plainlen = 0;
 
ELM_LABEL_DATA_GET(obj, sd);
@@ -140,17 +138,6 @@ _label_slide_change(Evas_Object *obj)
 Edje_Message_Float_Set *msg =
   alloca(sizeof(Edje_Message_Float_Set) + (sizeof(double)));
 
-evas_object_geometry_get(wd-resize_obj,
-  NULL, NULL, lw, NULL);
-if ((sd-slide_duration_recalc) 
-(lw  0) 
-(sd-matchslide_duration  0))
-  {
- speed = (sd-matchslide_textlen + lw) / (sd-matchslide_duration);
- sd-slide_duration = (sd-text_formatted_length + lw) / (speed);
- sd-slide_duration_recalc = EINA_FALSE;
-  }
-
 msg-count = 1;
 msg-val[0] = sd-slide_duration;
 
@@ -227,10 +214,9 @@ _on_label_resize(void *data,
  Evas_Object *obj EINA_UNUSED,
  void *event_info EINA_UNUSED)
 {
-  ELM_LABEL_DATA_GET(data, sd);
+   ELM_LABEL_DATA_GET(data, sd);
 
-  if (sd-slide_duration_recalc) _label_slide_change(data);
-  if (sd-linewrap) elm_layout_sizing_eval(data);
+   if (sd-linewrap) elm_layout_sizing_eval(data);
 }
 
 static int
@@ -338,8 +324,6 @@ _stringshare_key_value_replace(const char **srcstring,
 static void
 _elm_label_smart_text_set(Eo *obj, void *_pd, va_list *list)
 {
-   Evas_Object *tb;
-
Elm_Label_Smart_Data *sd = _pd;

[EGIT] [core/elementary] master 01/01: theme - use smaller shadow in deskmirror and simpler program for on/off

2014-02-09 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit a32cacf2a8b3eca7591ae84e0982f461cc94690d
Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
Date:   Mon Feb 10 09:29:22 2014 +0900

theme - use smaller shadow in deskmirror and simpler program for on/off
---
 data/themes/edc/deskmirror.edc | 28 +---
 1 file changed, 13 insertions(+), 15 deletions(-)

diff --git a/data/themes/edc/deskmirror.edc b/data/themes/edc/deskmirror.edc
index 7af5ef8..ff3f787 100644
--- a/data/themes/edc/deskmirror.edc
+++ b/data/themes/edc/deskmirror.edc
@@ -2,7 +2,7 @@ group { name: e/deskmirror/frame/default;
alias: e/deskmirror/frame/dialog;
alias: e/deskmirror/frame/urgent;
alias: e/deskmirror/frame/sparkle;
-   images.image: win_shadow.png COMP;
+   images.image: mini_box_bevel_shadow.png COMP;
images.image: shine.png COMP;
images.image: vgrad_med_lighter.png COMP;
images.image: vgrad_med_dark.png COMP;
@@ -61,15 +61,19 @@ group { name: e/deskmirror/frame/default;
   part { name: shadow;
  mouse_events: 0;
  description { state: default 0.0;
-image.normal: win_shadow.png;
-image.border: 7 7 3 12;
+image.normal: mini_box_bevel_shadow.png;
+image.border: 7 7 7 7;
 image.middle: 0;
 rel1.to: top;
-rel1.offset: -7 -3;
+rel1.offset: -5 -5;
 rel2.to: bottom;
-rel2.offset: 6 11;
+rel2.offset: 4 4;
 fill.smooth: 0;
  }
+ description { state: off;
+inherit: default 0.0;
+visible: 0;
+ }
   }
   
   
@@ -244,19 +248,13 @@ group { name: e/deskmirror/frame/default;
   }
   program { name: shon;
  signal: e,state,shadow,on; source: e;
- script {
-custom_state(PART:shadow, default, 0.0);
-set_state_val(PART:shadow, STATE_VISIBLE, 1);
-set_state(PART:shadow, custom, 0.0);
- }
+ action: STATE_SET default 0.0;
+ target: shadow;
   }
   program { name: shoff;
  signal: e,state,shadow,off; source: e;
- script {
-custom_state(PART:shadow, default, 0.0);
-set_state_val(PART:shadow, STATE_VISIBLE, 0);
-set_state(PART:shadow, custom, 0.0);
- }
+ action: STATE_SET off 0.0;
+ target: shadow;
   }
   program {
  name: focus;

-- 




[EGIT] [core/elementary] master 01/01: we dont use pager2 window theme element at all... as we use deskmirror...

2014-02-09 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 5f7c0d2715c6baa76b3b41a8604fcb3058665ad5
Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
Date:   Mon Feb 10 09:37:50 2014 +0900

we dont use pager2 window theme element at all... as we use deskmirror...
---
 data/themes/edc/pager16.edc | 77 -
 1 file changed, 77 deletions(-)

diff --git a/data/themes/edc/pager16.edc b/data/themes/edc/pager16.edc
index 7a756e4..fda9c1c 100644
--- a/data/themes/edc/pager16.edc
+++ b/data/themes/edc/pager16.edc
@@ -325,80 +325,3 @@ group { name: e/modules/pager2/desk;
   }
}
 }
-
-group { name: e/modules/pager2/window;
-   images.image: mini_box_bevel_shadow.png COMP;
-   images.image: mini_box_glow.png COMP;
-   parts {
-  part { name: base; type: SPACER;
- description { state: default 0.0;
- }
- description { state: urgent 0.0;
-rel1.offset: 0 -5;
-rel2.offset: -1 -6;
- }
-  }
-  part { name: win; mouse_events: 0;
- description { state: default 0.0;
-image.normal: mini_box_bevel_shadow.png;
-image.border: 7 7 7 7;
-rel1.offset: -5 -5;
-rel1.to: base;
-rel2.offset: 4 4;
-rel2.to: base;
- }
- description { state: active 0.0;
-inherit: default 0.0;
-image.normal: mini_box_glow.png;
- }
-  }
-  part { name: e.swallow.content; type: SWALLOW; mouse_events: 0;
- description { state: default 0.0;
-rel1.to: base;
-rel2.to: base;
- }
-  }
-  part { name: event; type: RECT;
- description { state: default 0.0;
-color: 0 0 0 0;
- }
-  }
-   }
-   programs {
-  program {
- signal: e,state,focused; source: e;
- action: STATE_SET active 0.0;
- target: win;
-  }
-  program {
- signal: e,state,unfocused; source: e;
- action: STATE_SET default 0.0;
- target: win;
-  }
-  program { name: urg1;
- signal: e,state,urgent; source: e;
- action: STATE_SET urgent 0.0;
- transition: DECELERATE 0.2;
- target: base;
- after: urg2;
-  }
-  program { name: urg2;
- signal: e,state,urgent; source: e;
- action: STATE_SET default 0.0;
- transition: ACCELERATE 0.2;
- target: base;
- after: urg1;
-  }
-  program {
- signal: e,state,not_urgent; source: e;
- action: ACTION_STOP;
- target: urg1;
- target: urg2;
- after: urg0;
-  }
-  program { name: urg0;
- action: STATE_SET default 0.0;
- target: base;
-  }
-   }
-}

-- 




[EGIT] [misc/entrance] master 01/01: Fix the SUPPORTING_WM check - don't rely on getting the callback

2014-02-09 Thread Andy Williams
ajwillia-ms pushed a commit to branch master.

http://git.enlightenment.org/misc/entrance.git/commit/?id=cf3498a3c81416f1694a17c4fa5fbad09243f63b

commit cf3498a3c81416f1694a17c4fa5fbad09243f63b
Author: Andy Williams a...@andywilliams.me
Date:   Mon Feb 10 00:49:39 2014 +

Fix the SUPPORTING_WM check - don't rely on getting the callback
---
 src/bin/entrance_gui.c | 39 +--
 1 file changed, 33 insertions(+), 6 deletions(-)

diff --git a/src/bin/entrance_gui.c b/src/bin/entrance_gui.c
index 2073305..5a47911 100755
--- a/src/bin/entrance_gui.c
+++ b/src/bin/entrance_gui.c
@@ -16,7 +16,7 @@ static void _entrance_gui_conf_clicked_cb(void *data, 
Evas_Object *obj, void *ev
 static void _entrance_gui_update(void);
 static void _entrance_gui_auth_cb(void *data, const char *user, Eina_Bool 
granted);
 static void _entrance_gui_user_bg_cb(void *data, Evas_Object *obj, const char 
*sig, const char *src);
-
+static void _entrance_gui_check_wm_loaded(Ecore_X_Window *win);
 
 static Entrance_Gui *_gui;
 
@@ -629,6 +629,8 @@ _entrance_gui_auth_cb(void *data EINA_UNUSED, const char 
*user EINA_UNUSED, Eina
   {
  elm_object_signal_emit(screen-edj,
 entrance,auth,valid, );
+
+ _entrance_gui_check_wm_loaded(_gui-win);
   }
 else
   {
@@ -664,7 +666,6 @@ static Eina_Bool
 _entrance_gui_cb_window_property(void *data EINA_UNUSED, int type EINA_UNUSED, 
void *event_info)
 {
Ecore_X_Event_Window_Property *ev;
-   char *name;
 
ev = event_info;
if (ev-atom == ECORE_X_ATOM_NET_SUPPORTING_WM_CHECK)
@@ -673,16 +674,42 @@ _entrance_gui_cb_window_property(void *data EINA_UNUSED, 
int type EINA_UNUSED, v
 elm_exit();
  }
 
+   _entrance_gui_check_wm_loaded(ev-win);
+
+   return ECORE_CALLBACK_DONE;
+}
+
+static void _entrance_gui_check_wm_loaded(Ecore_X_Window *win)
+{
+   Ecore_X_Window val;
+   char *name;
+
+   /* In case we missed the event let's first check if a SUPPORTING_WM is 
registered */
+   ecore_x_window_prop_window_get(ecore_x_window_root_get(win),
+ ECORE_X_ATOM_NET_SUPPORTING_WM_CHECK, 
val, 1);
+   if (val)
+ {
+PT(Found a SUPPORTING_WM set\n);
+// TODO we should check the child window exists
+
+elm_exit();
+ }
+
/* Adding this avoid us to launch entrance_client with a wm anymore ... */
-   name = ecore_x_window_prop_string_get(ecore_x_window_root_get(ev-win),
+   name = ecore_x_window_prop_string_get(ecore_x_window_root_get(win),
  ECORE_X_ATOM_NET_WM_NAME);
if (name)
  {
-PT(screen managed though not compliant\n);
+PT(screen managed by %s though not compliant\n, name);
 elm_exit();
  }
 
-   return ECORE_CALLBACK_DONE;
+   name = ecore_x_window_prop_string_get(ecore_x_window_root_get(win),
+ ECORE_X_ATOM_WM_NAME);
+   if (name)
+ {
+PT(screen managed by legacy %s\n, name);
+elm_exit();
+ }
 }
 
-

-- 




[EGIT] [core/enlightenment] master 01/01: Update me

2014-02-09 Thread Andy Williams
ajwillia-ms pushed a commit to branch master.

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

commit 53cbaf7d8087d59f0a3f2732221825441357182c
Author: Andy Williams a...@andywilliams.me
Date:   Mon Feb 10 01:03:40 2014 +

Update me
---
 AUTHORS  | 2 +-
 doc/e.dox.in | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/AUTHORS b/AUTHORS
index ee314d8..b9f7dfd 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,7 +1,7 @@
 The Rasterman (Carsten Haitzler) ras...@rasterman.com
 Ibukun Olumuyiwa ibu...@computer.org
 Sebastian Dransfeld s...@tango.flipp.net
-HandyAndE (Andrew Williams) a...@handyande.co.uk
+ajwillia.ms (Andrew Williams) a...@andywilliams.me
 CodeWarrior (Hisham Mardam Bey) his...@hisham.cc
 dj2 (Dan Sinclair) d...@everburning.com
 Tilman Sauerbeck til...@code-monkey.de
diff --git a/doc/e.dox.in b/doc/e.dox.in
index a99a3aa..7ed83a3 100644
--- a/doc/e.dox.in
+++ b/doc/e.dox.in
@@ -59,7 +59,7 @@ sudo make install
 @author The Rasterman (Carsten Haitzler) ras...@rasterman.com
 @author Ibukun Olumuyiwa ibu...@computer.org
 @author Sebastian Dransfeld s...@tango.flipp.net
-@author HandyAndE (Andrew Williams) a...@handyande.co.uk
+@author ajwillia.ms (Andrew Williams) a...@andywilliams.me
 @author CodeWarrior (Hisham Mardam Bey) his...@hisham.cc
 @author dj2 (Dan Sinclair) d...@everburning.com
 @author Tilman Sauerbeck tilman@@code-monkey.de

-- 




[EGIT] [core/efl] master 02/02: evas: add eglMakeCurrent in evas map create/free.

2014-02-09 Thread Wonsik Jung
cedric pushed a commit to branch master.

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

commit 6ea0566e6cad43ddb647c32fca812ae772db6b80
Author: Wonsik Jung sid...@samsung.com
Date:   Mon Feb 10 10:40:53 2014 +0900

evas: add eglMakeCurrent in evas map create/free.

Summary: Ensure Evas's eglContext when several eglContexts are used.

Test Plan:
1. Native GLES application works with evas_object_image_native_surface_set
2. One Evas object works with evas map.

Reviewers: seoz, tasn, cedric

Reviewed By: cedric

CC: cedric, raster

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

Signed-off-by: Cedric BAIL cedric.b...@samsung.com
---
 src/modules/evas/engines/gl_x11/evas_engine.c  | 7 ++-
 src/modules/evas/engines/wayland_egl/evas_engine.c | 7 ++-
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/src/modules/evas/engines/gl_x11/evas_engine.c 
b/src/modules/evas/engines/gl_x11/evas_engine.c
index 1419d16..3212197 100644
--- a/src/modules/evas/engines/gl_x11/evas_engine.c
+++ b/src/modules/evas/engines/gl_x11/evas_engine.c
@@ -3115,12 +3115,17 @@ eng_image_map_surface_new(void *data, int w, int h, int 
alpha)
Render_Engine *re;
 
re = (Render_Engine *)data;
+   eng_window_use(re-win);
return evas_gl_common_image_surface_new(re-win-gl_context, w, h, alpha);
 }
 
 static void
-eng_image_map_surface_free(void *data EINA_UNUSED, void *surface)
+eng_image_map_surface_free(void *data, void *surface)
 {
+   Render_Engine *re;
+
+   re = (Render_Engine *)data;
+   eng_window_use(re-win);
evas_gl_common_image_free(surface);
 }
 
diff --git a/src/modules/evas/engines/wayland_egl/evas_engine.c 
b/src/modules/evas/engines/wayland_egl/evas_engine.c
index e7c0336..ea6c7d3 100644
--- a/src/modules/evas/engines/wayland_egl/evas_engine.c
+++ b/src/modules/evas/engines/wayland_egl/evas_engine.c
@@ -2427,12 +2427,17 @@ eng_image_map_surface_new(void *data, int w, int h, int 
alpha)
Render_Engine *re;
 
if (!(re = (Render_Engine *)data)) return NULL;
+   eng_window_use(re-win);
return evas_gl_common_image_surface_new(re-win-gl_context, w, h, alpha);
 }
 
 static void
-eng_image_map_surface_free(void *data EINA_UNUSED, void *surface)
+eng_image_map_surface_free(void *data, void *surface)
 {
+   Render_Engine *re;
+
+   re = (Render_Engine *)data;
+   eng_window_use(re-win);
evas_gl_common_image_free(surface);
 }
 

-- 




[EGIT] [core/efl] master 01/02: comments: typo fix - s/dictionnary/dictionary

2014-02-09 Thread Albin Tonnerre
cedric pushed a commit to branch master.

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

commit 62efaed9dcb27e4b07a5d35cd1d0819db7624aac
Author: Albin Tonnerre albin.tonne...@gmail.com
Date:   Mon Feb 10 10:40:08 2014 +0900

comments: typo fix - s/dictionnary/dictionary

Reviewers: cedric

Reviewed By: cedric

CC: cedric

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

Signed-off-by: Cedric BAIL cedric.b...@samsung.com
---
 src/lib/edje/edje_load.c | 2 +-
 src/lib/eet/eet_lib.c| 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/edje/edje_load.c b/src/lib/edje/edje_load.c
index 073de55..c27808e 100644
--- a/src/lib/edje/edje_load.c
+++ b/src/lib/edje/edje_load.c
@@ -1527,7 +1527,7 @@ _edje_file_free(Edje_File *edf)
eina_stringshare_del(edf-image_dir-entries[i].entry);
   }
 
-/* Sets have been added after edje received eet dictionnary support */
+/* Sets have been added after edje received eet dictionary support */
 for (i = 0; i  edf-image_dir-sets_count; ++i)
   {
  Edje_Image_Directory_Set_Entry *se;
diff --git a/src/lib/eet/eet_lib.c b/src/lib/eet/eet_lib.c
index 6ff2a3c..e1099cb 100644
--- a/src/lib/eet/eet_lib.c
+++ b/src/lib/eet/eet_lib.c
@@ -938,7 +938,7 @@ eet_internal_read2(Eet_File *ef)
 if (eet_test_close(!ef-ed, ef))
   return NULL;
 
-INF(loading dictionnary for '%s' with %lu entries of size %zu,
+INF(loading dictionary for '%s' with %lu entries of size %zu,
 ef-path, num_dictionary_entries, sizeof(Eet_String));
 
 ef-ed-all = calloc(1, num_dictionary_entries * sizeof(Eet_String));

-- 




[EGIT] [core/efl] master 02/02: Evas filters: Disable time debug logs (blur)

2014-02-09 Thread Jean-Philippe Andre
jpeg pushed a commit to branch master.

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

commit 40c18743f4f31676aec4b2a51497f5053e2c4db0
Author: Jean-Philippe Andre jp.an...@samsung.com
Date:   Mon Feb 10 11:06:47 2014 +0900

Evas filters: Disable time debug logs (blur)

Enabling those will break windows build.
---
 src/lib/evas/filters/evas_filter_blur.c | 8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/lib/evas/filters/evas_filter_blur.c 
b/src/lib/evas/filters/evas_filter_blur.c
index 5db74a7..ca562fb 100644
--- a/src/lib/evas/filters/evas_filter_blur.c
+++ b/src/lib/evas/filters/evas_filter_blur.c
@@ -4,8 +4,14 @@
 #include math.h
 #include time.h
 
-#define DEBUG_TIME 1
+// Enable debug if you're working on optimizations
+#define DEBUG_TIME 0
 
+// Windows build will break if CLOCK_MONOTONIC is used
+#if !defined(_POSIX_MONOTONIC_CLOCK) || (_POSIX_MONOTONIC_CLOCK  0)
+# undef DEBUG_TIME
+# define DEBUG_TIME 0
+#endif
 
 #if DIV_USING_BITSHIFT
 static int

-- 




[EGIT] [core/efl] master 01/02: Evas filters: Check for EVAS_CSERVE2 when using cs2 APIs

2014-02-09 Thread Jean-Philippe Andre
jpeg pushed a commit to branch master.

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

commit b9b8300f9873e3224f2d3cf48f218d81bb4081e7
Author: Jean-Philippe Andre jp.an...@samsung.com
Date:   Mon Feb 10 11:05:07 2014 +0900

Evas filters: Check for EVAS_CSERVE2 when using cs2 APIs

This broke the windows build, because cserve2 isn't available on windows.
---
 src/lib/evas/filters/evas_filter.c | 28 +---
 1 file changed, 17 insertions(+), 11 deletions(-)

diff --git a/src/lib/evas/filters/evas_filter.c 
b/src/lib/evas/filters/evas_filter.c
index ee510da..77066f6 100644
--- a/src/lib/evas/filters/evas_filter.c
+++ b/src/lib/evas/filters/evas_filter.c
@@ -93,10 +93,12 @@ _backing_free(Evas_Filter_Context *ctx, Image_Entry *ie)
  }
else
  {
-if (!evas_cserve2_use_get())
-  evas_cache_image_drop(ie);
-else
+#ifdef EVAS_CSERVE2
+if (evas_cserve2_use_get())
   evas_cache2_image_close(ie);
+else
+#endif
+  evas_cache_image_drop(ie);
  }
 }
 
@@ -326,21 +328,25 @@ _rgba_image_alloc(Evas_Filter_Buffer const *fb, void 
*data)
 
 if (!data)
   {
- if (!evas_cserve2_use_get())
+#ifdef EVAS_CSERVE2
+ if (evas_cserve2_use_get())
+   image = (RGBA_Image *) evas_cache2_image_copied_data
+ (evas_common_image_cache2_get(), fb-w, fb-h, NULL, 
EINA_TRUE, cspace);
+ else
+#endif
image = (RGBA_Image *) evas_cache_image_copied_data
  (evas_common_image_cache_get(), fb-w, fb-h, NULL, 
EINA_TRUE, cspace);
- else
-image = (RGBA_Image *) evas_cache2_image_copied_data
-  (evas_common_image_cache2_get(), fb-w, fb-h, NULL, 
EINA_TRUE, cspace);
   }
 else
   {
- if (!evas_cserve2_use_get())
-   image = (RGBA_Image *) evas_cache_image_data
- (evas_common_image_cache_get(), fb-w, fb-h, data, 
EINA_TRUE, cspace);
- else
+#ifdef EVAS_CSERVE2
+ if (evas_cserve2_use_get())
image = (RGBA_Image *) evas_cache2_image_data
  (evas_common_image_cache2_get(), fb-w, fb-h, data, 
EINA_TRUE, cspace);
+ else
+#endif
+   image = (RGBA_Image *) evas_cache_image_data
+ (evas_common_image_cache_get(), fb-w, fb-h, data, 
EINA_TRUE, cspace);
   }
  }
if (!image) return EINA_FALSE;

-- 




[EGIT] [tools/enventor] master 01/01: be scalable ui.

2014-02-09 Thread ChunEon Park
hermet pushed a commit to branch master.

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

commit e79e216e39b412f51234b3ccbf8ccfbfab9d6fa2
Author: ChunEon Park her...@hermet.pe.kr
Date:   Mon Feb 10 11:48:42 2014 +0900

be scalable ui.
---
 data/themes/default/menu.edc | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/data/themes/default/menu.edc b/data/themes/default/menu.edc
index 7c6467c..0a4c13a 100644
--- a/data/themes/default/menu.edc
+++ b/data/themes/default/menu.edc
@@ -165,6 +165,7 @@ group { name: fileselector_layout;
   }
   part { name: title_frame;
  type: RECT;
+ scale: 1;
  clip_to: clipper;
  description {
 rel1 { to: base_frame; }
@@ -898,6 +899,7 @@ group { name: setting_layout;
   part { name: title_frame;
  type: RECT;
  clip_to: clipper;
+ scale: 1;
  description {
 rel1 {to: base_frame; relative: 0 0;}
 rel2 {to: base_frame; relative: 1 0;}
@@ -985,6 +987,7 @@ group { name: setting_layout;
   }
   part { name: preference_frame;
  type: SPACER;
+ scale: 1;
  description {
 rel1 {to: data_path_frame; relative: 0 1;}
 rel2 {to: data_path_frame; relative: 1 1;}

-- 




[E-devel] 1.9 FREEZE BEGINS NOW

2014-02-09 Thread Michael Blumenkrantz
Stefan is off this week destroying some mountains, so I'm going to be cobbling 
together some release stuff.

Expect an alpha within the next couple days and schnitzels to follow.

--
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/enlightenment] master 01/01: fix pager16 shadow inconssistency

2014-02-09 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit c91840ea54a398f56a513a9d02608f323d7e8f65
Author: Carsten Haitzler (Rasterman) ras...@rasterman.com
Date:   Mon Feb 10 12:21:27 2014 +0900

fix pager16 shadow inconssistency

fixes T930
---
 src/bin/e_deskmirror.c | 32 +++-
 1 file changed, 23 insertions(+), 9 deletions(-)

diff --git a/src/bin/e_deskmirror.c b/src/bin/e_deskmirror.c
index 9a1b6c3..ec9da27 100644
--- a/src/bin/e_deskmirror.c
+++ b/src/bin/e_deskmirror.c
@@ -269,9 +269,21 @@ _mirror_client_smart_add(Evas_Object *obj)
 static void
 _mirror_client_signal_cb(void *data, Evas_Object *obj EINA_UNUSED, const char 
*emission, const char *src)
 {
-   edje_object_signal_emit(data, emission, src);
-   edje_object_message_signal_process(data);
-   edje_object_calc_force(data);
+   Mirror_Border *mb = data;
+
+   if (((!strcmp(emission, e,state,shadow,on)) ||
+(!strcmp(emission, e,state,shadow,off))) 
+   (!strcmp(src, e)))
+ {
+if (e_client_util_shadow_state_get(mb-m-ec))
+  edje_object_signal_emit(mb-frame, e,state,shadow,on, e);
+else
+  edje_object_signal_emit(mb-frame, e,state,shadow,off, e);
+ }
+   else
+ edje_object_signal_emit(mb-frame, emission, src);
+   edje_object_message_signal_process(mb-frame);
+   edje_object_calc_force(mb-frame);
 }
 
 static void
@@ -279,7 +291,7 @@ _mirror_client_smart_del(Evas_Object *obj)
 {
Mirror_Border *mb = evas_object_smart_data_get(obj);
if (mb-m-comp_object  mb-m-ec)
- e_comp_object_signal_callback_del_full(mb-m-ec-frame, *, *, 
_mirror_client_signal_cb, mb-frame);
+ e_comp_object_signal_callback_del_full(mb-m-ec-frame, *, *, 
_mirror_client_signal_cb, mb);
evas_object_del(mb-frame);
evas_object_del(mb-mirror);
free(mb);
@@ -446,7 +458,7 @@ _mirror_client_new(Mirror *m)
  edje_object_signal_emit(mb-frame, e,state,shadow,off, e);
if (m-comp_object)
  {
-e_comp_object_signal_callback_add(mb-m-comp_object, *, *, 
_mirror_client_signal_cb, mb-frame);
+e_comp_object_signal_callback_add(mb-m-comp_object, *, *, 
_mirror_client_signal_cb, mb);
 evas_object_event_callback_add(m-comp_object, EVAS_CALLBACK_DEL, 
_e_deskmirror_mirror_del_cb, m);
  }
if (mb-m-ec-focused)
@@ -737,9 +749,11 @@ e_deskmirror_mirror_list(Evas_Object *deskmirror)
 }
 
 static void
-_mirror_copy_del(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void 
*event_info EINA_UNUSED)
+_mirror_copy_del(void *data, Evas *e EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_info EINA_UNUSED)
 {
-   e_comp_object_signal_callback_del_full(data, *, *, 
_mirror_client_signal_cb, obj);
+   Mirror_Border *mb = data;
+
+   e_comp_object_signal_callback_del_full(mb-m-comp_object, *, *, 
_mirror_client_signal_cb, mb);
 }
 
 EAPI Evas_Object *
@@ -764,8 +778,8 @@ e_deskmirror_mirror_copy(Evas_Object *obj)
   edje_object_signal_emit(o, e,state,shadow,off, e);
 if (mb-m-comp_object)
   {
- e_comp_object_signal_callback_add(mb-m-comp_object, *, *, 
_mirror_client_signal_cb, o);
- evas_object_event_callback_add(o, EVAS_CALLBACK_DEL, 
_mirror_copy_del, mb-m-comp_object);
+ e_comp_object_signal_callback_add(mb-m-comp_object, *, *, 
_mirror_client_signal_cb, mb);
+ evas_object_event_callback_add(o, EVAS_CALLBACK_DEL, 
_mirror_copy_del, mb);
   }
 if (mb-m-ec-focused)
   edje_object_signal_emit(o, e,state,focused, e);

-- 




Re: [E-devel] 1.9 FREEZE BEGINS NOW

2014-02-09 Thread The Rasterman
On Sun, 9 Feb 2014 22:13:21 -0500 Michael Blumenkrantz
michael.blumenkra...@gmail.com said:

 Stefan is off this week destroying some mountains, so I'm going to be
 cobbling together some release stuff.
 
 Expect an alpha within the next couple days and schnitzels to follow.

the last minute rush to get shit in is over... :) time to fix up what we have
into a working blob of chewing gum...

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


--
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] 1.9 FREEZE BEGINS NOW

2014-02-09 Thread David Seikel
On Mon, 10 Feb 2014 12:38:01 +0900 Carsten Haitzler (The Rasterman)
ras...@rasterman.com wrote:

 On Sun, 9 Feb 2014 22:13:21 -0500 Michael Blumenkrantz
 michael.blumenkra...@gmail.com said:
 
  Stefan is off this week destroying some mountains, so I'm going to
  be cobbling together some release stuff.
  
  Expect an alpha within the next couple days and schnitzels to
  follow.
 
 the last minute rush to get shit in is over... :) time to fix up what
 we have into a working blob of chewing gum...

Schnitzels and chewing gum?  I knew you guys had bad taste.

-- 
A big old stinking pile of genius that no one wants
coz there are too many silver coated monkeys in the world.


signature.asc
Description: PGP signature
--
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231iu=/4140/ostg.clktrk___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Evas filters: advanced font effects

2014-02-09 Thread Jean-Philippe André
Hi Gustavo,


2014-02-06 Gustavo Sverzut Barbieri barbi...@gmail.com:

 On Thu, Feb 6, 2014 at 4:29 AM, Jean-Philippe André j...@videolan.org
 wrote:
  Hello all,
 
 
  As some of you have heard already, I've been working for the past few
  months on an advanced font effects module for Evas. The main idea is to
  integrate features like in Gimp in the Evas rendering engine itself, in
  order to have some cool text effects.
 
  I'd love to integrate this work within EFL 1.9 (the merge window is still
  open :) ), but still leave it marked as experimental because it's...
 well,
  not perfect quite yet.
 
  Here's what's working:
  - Software rendering
  - Basic OpenGL (integration through full software rendering and pushing a
  texture)
  - Basic Edje integration (the best for quick testing)
  - Text object
 
  My work has been public since I started, in my dev branch
  (devs/jpeg/fonteffects), but I guess no one really had a look at it yet
 :)
 
 
  Fundamentally, it's a whole new part of Evas, called Evas_Filter (in
  evas/filters) and almost nothing in Evas has been changed otherwise. We
 add
  some basic support for Alpha images (1 byte per pixel, instead of the
 usual
  RGBA).
 
 
  The concept is to apply a series of operations to Alpha/RGBA buffers, and
  blend the final result on screen. These buffers can be thought of as a
  series of layers and the operations as filters (in the Gimp terminology).
  So while the target is text for now, the whole concept has pretty much
  nothing to do with text, really, just basic image processing :)
 
  Right now, here are the available filters:
  - Blend
  - Mask (same as blend, but with 2 input images and an output)
  - Bump (using a bump map and various colors)
  - Displacement (using a specific displacement map image format)
  - Transform (vertical flip only for now)
  - Blur
  - Curve (apply a color curve to any color channel)
 
  Using proxy source images (any object actually), we can apply textures to
  the text. And if the texture is, say, an animated Gif of a fire, then the
  text will be on fire as well.

 excellent, after year of hope this finally happened :-) I guess you
 know we had an almost working implementation that later got removed,
 I'm wishing you the best luck to get this properly working... changing
 such a huge beast as Evas is a big can of worms. And those are the
 reasons I'll just hope and will not even look at the code :-D


Actually, I didn't know about that.
As for the can of worms, I tried to make those filters as separate as
possible from the rest of Evas, while still being in the very middle of it.



  Finally, I'm introducing a new script language (yeah, sorry), that's
 pretty
  simple, to describe the various buffers and commands to apply
 sequentially.
  For example, to apply a simple dark blue drop shadow, one could do:
 
  blur(ox=4, oy=6, dx=10, dy=10, color=darkblue);
  blend(color=white);

 I didn't look in depth, but would be nice to use the same as
 http://www.w3.org/TR/filter-effects/ so the language is known to more
 people.



Just FYI, I had a quick look (last week, before the freeze) at your link.
I found that spec quite interesting, and yes, it's pretty close to what
I've done.

But now it's too late to change the language for an XML thing. Anyways, I'd
also argue that a Lua-like language is more consistent with our future
plans (Bob, etc...), than XML stuff :)

I'll have a closer look at the effects proposed in that w3c draft, see what
cool ideas can come out of that.

But I don't want to start implementing support for this exact language...
because we'll never have full support :( I could instead implement a script
to convert from w3c to evas filters, maybe. Just like I was thinking of
doing for simpler CSS (text-shadow...), so that designers have an easy way
to learn and write stuff.

Btw I don't even have a name for that language/module :)




  A test app with examples is available in my repo, at:
  https://git.enlightenment.org/devs/jpeg/font_effect_ui.git/
 
  More examples will follow.
  Also, images  screenshots should follow.
 
 
  Right now, I am working (hard :P) at fixing a few remaining issues with
  proxy rendering (crashes, dangling objects, you name it...) and I'll do a
  final rebase of my work over master before the weekend. I removed my
  changes in Textblock as they introduce way too many issues, especially
 with
  the recent optimizations.
 
 
  Soon, all your text will be on fire :-)


 excellent, and then I can have performance in my apps AND remove my
 custom hacks to provide those... nowadays getting pixels and doing it
 in sw sucks ;-)


Well, I'll have to work much harder on the performance optimizations then :)

Best regards,

-- 
Jean-Philippe André
--
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.

Re: [E-devel] 1.9 FREEZE BEGINS NOW

2014-02-09 Thread Daniel Juyung Seo
On Mon, Feb 10, 2014 at 12:38 PM, Carsten Haitzler ras...@rasterman.comwrote:

 On Sun, 9 Feb 2014 22:13:21 -0500 Michael Blumenkrantz
 michael.blumenkra...@gmail.com said:

  Stefan is off this week destroying some mountains, so I'm going to be
  cobbling together some release stuff.
 
  Expect an alpha within the next couple days and schnitzels to follow.

 the last minute rush to get shit in is over... :) time to fix up what we
 have
 into a working blob of chewing gum...


The timeline is too grey as phab says:
(https://phab.enlightenment.org/w/efl_and_elementary_1_9/)
 2014-02-10 Second merge window is over.
 2014-02-11 Stabilization phase starts

And well yeah.. the last minute patches are still coming.
I think today is in the grey area.

Thanks.

Daniel Juyung Seo (SeoZ)




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



 --
 Managing the Performance of Cloud-Based Applications
 Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
 Read the Whitepaper.

 http://pubads.g.doubleclick.net/gampad/clk?id=121051231iu=/4140/ostg.clktrk
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

--
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: evas: software_x11 - use evas_xlib_swapper_depth_get to get buffer stride.

2014-02-09 Thread Wonsik Jung
cedric pushed a commit to branch master.

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

commit 48b95c4538643efbc2191e1be8de5ff723984679
Author: Wonsik Jung sid...@samsung.com
Date:   Mon Feb 10 14:54:23 2014 +0900

evas: software_x11 - use evas_xlib_swapper_depth_get to get buffer stride.

Summary: when image cache is created, buffer's size should use stride value.

Test Plan: Create small size window, then try to resizing that.

Reviewers: tasn, seoz, raster, cedric

Reviewed By: cedric

CC: tasn, seoz, raster, cedric

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

Signed-off-by: Cedric BAIL cedric.b...@samsung.com
---
 src/modules/evas/engines/software_x11/evas_xlib_swapbuf.c | 14 +-
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/src/modules/evas/engines/software_x11/evas_xlib_swapbuf.c 
b/src/modules/evas/engines/software_x11/evas_xlib_swapbuf.c
index a8cfa53..f0a2c78 100644
--- a/src/modules/evas/engines/software_x11/evas_xlib_swapbuf.c
+++ b/src/modules/evas/engines/software_x11/evas_xlib_swapbuf.c
@@ -227,21 +227,25 @@ evas_software_xlib_swapbuf_new_region_for_update(Outbuf 
*buf, int x, int y, int
 if (!im)
   {
  int ww = 0, hh = 0;
- 
+ int d, bpp;
+
+ d = evas_xlib_swapper_depth_get(buf-priv.swapper);
+ bpp = d / 8;
+
  data = evas_xlib_swapper_buffer_map(buf-priv.swapper, bpl, 
  (ww), (hh));
 // To take stride into account, we do use bpl as the real image 
width, but return the real useful one.
 #ifdef EVAS_CSERVE2
  if (evas_cserve2_use_get())
im = (RGBA_Image 
*)evas_cache2_image_data(evas_common_image_cache2_get(),
- bpl / sizeof (int), 
hh, data,
- 
buf-priv.destination_alpha, 
+ bpl/bpp, hh, data,
+ 
buf-priv.destination_alpha,
  
EVAS_COLORSPACE_ARGB);
  else
 #endif
im = (RGBA_Image 
*)evas_cache_image_data(evas_common_image_cache_get(),
-bpl / sizeof (int), 
hh, data,
-
buf-priv.destination_alpha, 
+bpl/bpp, hh, data,
+
buf-priv.destination_alpha,
 
EVAS_COLORSPACE_ARGB);
  buf-priv.onebuf = im;
  if (!im) return NULL;

-- 




Re: [E-devel] [EGIT] [core/elementary] master 01/01: test_entry: Refactored entry user style sample code.

2014-02-09 Thread Daniel Juyung Seo
On Mon, Feb 10, 2014 at 3:25 AM, Davide Andreoli d...@gurumeditation.itwrote:

 2014-02-09 17:29 GMT+01:00 Daniel Juyung Seo seojuyu...@gmail.com:

  seoz pushed a commit to branch master.
 
 
 
 http://git.enlightenment.org/core/elementary.git/commit/?id=0136122e1200ffc05985e8d97c39e75f5a6ca268
 
  commit 0136122e1200ffc05985e8d97c39e75f5a6ca268
  Author: Daniel Juyung Seo seojuyu...@gmail.com
  Date:   Mon Feb 10 01:27:00 2014 +0900
 
  test_entry: Refactored entry user style sample code.
 
  - removed unnecessary lines.
  - used proper variable name.
  - used proper parent on widget add.
 

 Great, thanks!
 agree with every changes you made... except:
 evas_object_resize(win, 300, 100);

 it was (300, 300) and that size was not respected,
 now it looks better but you have hidden a bug this way.


Hi Davide Andreoli,
this is not hiding that bug. It actually reveals the bug more and more :)
Becase I reduced the requested size to 100 and the gap between requested
size(100) and the actual result(xxx) is now got bigger.
I read your commit message and understood what you meant.
It looks like the issue is coming from temporary entry size calculation.
This happens during multiline entry size calculation and it enlargened the
window size but the entry size is reduced later.
I will check this issue later when I have more time.

Anyway I didn't hide the bug :)

Thanks.

Daniel Juyung Seo (SeoZ)



 davemds


  ---
   src/bin/test_entry.c | 43 +++
   1 file changed, 15 insertions(+), 28 deletions(-)
 
  diff --git a/src/bin/test_entry.c b/src/bin/test_entry.c
  index 0e6129a..9c0e7f0 100644
  --- a/src/bin/test_entry.c
  +++ b/src/bin/test_entry.c
  @@ -821,18 +821,17 @@ ent_bt_style_user_push(void *data, Evas_Object *obj
  EINA_UNUSED, void *event_inf
   void
   test_entry_style_user(void *data EINA_UNUSED, Evas_Object *obj
  EINA_UNUSED, void *event_info EINA_UNUSED)
   {
  -   Evas_Object *win, *bx, *vbx, *en, *bt, *bt2;
  +   Evas_Object *win, *bx, *hbx, *en, *bt, *bt2;
 
  -   win = elm_win_util_standard_add(entry-style, Entry User Style);
  +   win = elm_win_util_standard_add(entry-user-style, Entry User
  Style);
  elm_win_autodel_set(win, EINA_TRUE);
  -   evas_object_resize(win, 300, 300);
 
  bx = elm_box_add(win);
  evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND,
  EVAS_HINT_EXPAND);
  elm_win_resize_object_add(win, bx);
  evas_object_show(bx);
 
  -   en = elm_entry_add(win);
  +   en = elm_entry_add(bx);
  elm_entry_line_wrap_set(en, ELM_WRAP_MIXED);
  elm_entry_text_style_user_push(en, user_style);
  elm_object_text_set(en,
  @@ -845,48 +844,36 @@ test_entry_style_user(void *data EINA_UNUSED,
  Evas_Object *obj EINA_UNUSED, void
  evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND,
  EVAS_HINT_EXPAND);
  evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL);
  elm_box_pack_end(bx, en);
  -   evas_object_resize(en, 300, 300);
  evas_object_show(en);
  elm_object_focus_set(en, EINA_TRUE);
 
  -   vbx = elm_box_add(win);
  -   elm_box_horizontal_set(vbx, EINA_TRUE);
  -   elm_box_pack_end(bx, vbx);
  -   evas_object_show(vbx);
  -
  -   bt = elm_button_add(win);
  -   evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND,
  EVAS_HINT_EXPAND);
  +   hbx = elm_box_add(bx);
  +   elm_box_horizontal_set(hbx, EINA_TRUE);
  +   elm_box_pack_end(bx, hbx);
  +   evas_object_show(hbx);
  +
  +   bt = elm_button_add(hbx);
  elm_object_text_set(bt, Peek);
  evas_object_smart_callback_add(bt, clicked, ent_bt_style_user_peek,
  en);
  -   evas_object_size_hint_weight_set(bt, 0.0, 0.0);
  -   evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0.5);
  -   elm_box_pack_end(vbx, bt);
  -   evas_object_propagate_events_set(bt, EINA_FALSE);
  +   elm_box_pack_end(hbx, bt);
  elm_object_focus_allow_set(bt, EINA_FALSE);
  evas_object_show(bt);
 
  -   bt2 = elm_button_add(win);
  -   evas_object_size_hint_weight_set(bt2, EVAS_HINT_EXPAND,
  EVAS_HINT_EXPAND);
  +   bt2 = elm_button_add(hbx);
  elm_object_text_set(bt2, Pop);
  evas_object_smart_callback_add(bt2, clicked, ent_bt_style_user_pop,
  en);
  -   evas_object_size_hint_weight_set(bt2, 0.0, 0.0);
  -   evas_object_size_hint_align_set(bt2, EVAS_HINT_FILL, 0.5);
  -   elm_box_pack_end(vbx, bt2);
  -   evas_object_propagate_events_set(bt2, EINA_FALSE);
  +   elm_box_pack_end(hbx, bt2);
  elm_object_focus_allow_set(bt2, EINA_FALSE);
  evas_object_show(bt2);
 
  -   bt2 = elm_button_add(win);
  -   evas_object_size_hint_weight_set(bt2, EVAS_HINT_EXPAND,
  EVAS_HINT_EXPAND);
  +   bt2 = elm_button_add(hbx);
  elm_object_text_set(bt2, Push);
  evas_object_smart_callback_add(bt2, clicked,
 ent_bt_style_user_push,
  en);
  -   evas_object_size_hint_weight_set(bt2, 0.0, 0.0);
  -   evas_object_size_hint_align_set(bt2, EVAS_HINT_FILL, 0.5);
  -   elm_box_pack_end(vbx, bt2);
  -