[EGIT] [core/elementary] master 01/01: ctxpopup: add a new api for ctxpopup which makes ctxpopup not to hide automatically
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
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
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
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
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
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
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
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
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.
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
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
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
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.
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
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.
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.
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
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
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
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)
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.
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.
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
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.
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.
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
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
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
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 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)
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
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
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.
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
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.
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 !
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
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 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 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
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 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!
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.
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
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
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...
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
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
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.
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
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)
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
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.
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
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
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
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
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
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
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.
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.
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); -