[EGIT] [core/efl] master 01/01: elementary genlist: code refactoring.
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=436e07277e1b24f5d5de5aece3e4d32d47c7d028 commit 436e07277e1b24f5d5de5aece3e4d32d47c7d028 Author: Hermet Park Date: Wed Dec 7 14:17:33 2016 +0900 elementary genlist: code refactoring. removed duplicated logic and add a descriptive comment. --- src/lib/elementary/elm_genlist.c | 25 + 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/src/lib/elementary/elm_genlist.c b/src/lib/elementary/elm_genlist.c index 7e7a30c..1d52f62 100644 --- a/src/lib/elementary/elm_genlist.c +++ b/src/lib/elementary/elm_genlist.c @@ -6973,25 +6973,17 @@ _elm_genlist_item_coordinates_calc(Elm_Gen_Item *it, Evas_Coord gith = 0; ELM_GENLIST_DATA_GET_FROM_ITEM(it, sd); - if ((sd->queue) || - (!((sd->homogeneous) && - (sd->mode == ELM_LIST_COMPRESS + Eina_Bool deferred_show = EINA_FALSE; + + //Can't goto the item right now. Reserve it instead. + if (sd->queue || !(sd->homogeneous && (sd->mode == ELM_LIST_COMPRESS))) { if ((it->item->queued) || (!it->item->mincalcd) || (sd->queue)) - { - sd->check_scroll = EINA_TRUE; - sd->show_item = it; - sd->bring_in = bring_in; - sd->scroll_to_type = type; - it->item->show_me = EINA_TRUE; - - ecore_job_del(sd->calc_job); - sd->calc_job = ecore_job_add(_calc_job, sd->obj); - - return EINA_FALSE; - } + deferred_show = EINA_TRUE; } - if (it->item->block->w < 1) + else if (it->item->block->w < 1) deferred_show = EINA_TRUE; + + if (deferred_show) { sd->check_scroll = EINA_TRUE; sd->show_item = it; @@ -7004,6 +6996,7 @@ _elm_genlist_item_coordinates_calc(Elm_Gen_Item *it, return EINA_FALSE; } + if (sd->show_item) { sd->show_item->item->show_me = EINA_FALSE; --
[EGIT] [core/efl] master 01/01: static_libs triangulator: prevent null pointer(ptr) access.
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=8be045612bc4901ba5322ae589796b23867fc4a4 commit 8be045612bc4901ba5322ae589796b23867fc4a4 Author: Hermet Park Date: Tue Dec 6 19:18:09 2016 +0900 static_libs triangulator: prevent null pointer(ptr) access. --- .../triangulator/triangulator_stroker.c| 32 +++--- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/src/static_libs/triangulator/triangulator_stroker.c b/src/static_libs/triangulator/triangulator_stroker.c index 44f7b89..18f7ead 100644 --- a/src/static_libs/triangulator/triangulator_stroker.c +++ b/src/static_libs/triangulator/triangulator_stroker.c @@ -156,23 +156,23 @@ move_to(Triangulator_Stroker *stroker, const double *pts) ptr1 = eina_inarray_nth(stroker->arc_pts, 0); ptr = eina_inarray_nth(stroker->vertices, 0); i = pts_count; - } -while (front != end) - { - ptr[--i] = ptr1[2 * end - 1]; - ptr[--i] = ptr1[2 * end - 2]; - --end; - if (front == end) - break; - ptr[--i] = ptr1[2 * front + 1]; - ptr[--i] = ptr1[2 * front + 0]; - ++front; - } -if (jump) - { - ptr[i - 1] = ptr[i + 1]; - ptr[i - 2] = ptr[i + 0]; + while (front != end) + { + ptr[--i] = ptr1[2 * end - 1]; + ptr[--i] = ptr1[2 * end - 2]; + --end; + if (front == end) +break; + ptr[--i] = ptr1[2 * front + 1]; + ptr[--i] = ptr1[2 * front + 0]; + ++front; + } + if (jump) + { + ptr[i - 1] = ptr[i + 1]; + ptr[i - 2] = ptr[i + 0]; + } } break; } --
[EGIT] [core/efl] master 01/01: evas render: code refactoring.
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=8233770e362d1c9332906416b7bd4a7fff7cee99 commit 8233770e362d1c9332906416b7bd4a7fff7cee99 Author: Hermet Park Date: Tue Dec 6 18:56:07 2016 +0900 evas render: code refactoring. There were some obj->map->surface validation check but final map drawing was in the out of the surface valid scope. Actually, this change does nothing but logically this change makes sense. --- src/lib/evas/canvas/evas_render.c | 38 +++--- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/src/lib/evas/canvas/evas_render.c b/src/lib/evas/canvas/evas_render.c index 5b59205..bded79b 100644 --- a/src/lib/evas/canvas/evas_render.c +++ b/src/lib/evas/canvas/evas_render.c @@ -1845,12 +1845,12 @@ evas_render_mapped(Evas_Public_Data *evas, Evas_Object *eo_obj, (obj->map->surface_h != sh)) { RD(level, " new surf: %ix%i\n", sw, sh); - EINA_COW_WRITE_BEGIN(evas_object_map_cow, obj->map, Evas_Object_Map_Data, map_write) - { - ENFN->image_free(ENDT, map_write->surface); - map_write->surface = NULL; - } - EINA_COW_WRITE_END(evas_object_map_cow, obj->map, map_write); + EINA_COW_WRITE_BEGIN(evas_object_map_cow, obj->map, Evas_Object_Map_Data, map_write) +{ + ENFN->image_free(ENDT, map_write->surface); + map_write->surface = NULL; +} + EINA_COW_WRITE_END(evas_object_map_cow, obj->map, map_write); } } if (!obj->map->surface) @@ -2011,22 +2011,22 @@ evas_render_mapped(Evas_Public_Data *evas, Evas_Object *eo_obj, } } } - } -ENFN->context_clip_clip(ENDT, ctx, ecx, ecy, ecw, ech); -if (obj->cur->cache.clip.visible || !proxy_src_clip) - { - ENFN->context_multiplier_unset(ENDT, ctx); - ENFN->context_render_op_set(ENDT, ctx, obj->cur->render_op); + if (obj->cur->cache.clip.visible || !proxy_src_clip) + { + ENFN->context_clip_clip(ENDT, ctx, ecx, ecy, ecw, ech); + ENFN->context_multiplier_unset(ENDT, ctx); + ENFN->context_render_op_set(ENDT, ctx, obj->cur->render_op); #ifdef REND_DBG - int _c, _cx, _cy, _cw, _ch; - _c = ENFN->context_clip_get(ENDT, ctx, &_cx, &_cy, &_cw, &_ch); - RD(level, " draw image map(clip: [%d] %d,%d %dx%d)\n", _c, _cx, _cy, _cw, _ch); + int _c, _cx, _cy, _cw, _ch; + _c = ENFN->context_clip_get(ENDT, ctx, &_cx, &_cy, &_cw, &_ch); + RD(level, " draw image map(clip: [%d] %d,%d %dx%d)\n", _c, _cx, _cy, _cw, _ch); #endif - evas_draw_image_map_async_check - (obj, ENDT, ctx, surface, -obj->map->surface, obj->map->spans, -obj->map->cur.map->smooth, 0, do_async); + evas_draw_image_map_async_check + (obj, ENDT, ctx, surface, + obj->map->surface, obj->map->spans, + obj->map->cur.map->smooth, 0, do_async); + } } ENFN->context_free(ENDT, ctx); --
[EGIT] [core/efl] master 02/02: updated AUTHORS
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=24a6f31252d4d261a439f5343ee6f3e69b20a072 commit 24a6f31252d4d261a439f5343ee6f3e69b20a072 Author: Hermet Park Date: Tue Dec 6 13:39:23 2016 +0900 updated AUTHORS --- AUTHORS | 10 +- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/AUTHORS b/AUTHORS index 94db131..5ee8859 100644 --- a/AUTHORS +++ b/AUTHORS @@ -376,7 +376,7 @@ Davide Andreoli Gustavo Sverzut Barbieri Stefan Schmidt Bruno Dilly -ChunEon Park +Hermet Park Daniel Juyung Seo Doug Newgard Jerome Pinot @@ -677,3 +677,11 @@ rustyBSD Haifeng Deng Al Poole Marcel Hollerbach +Hermet Park +Jee-Yong Um +SooHye Shin +Hosang Kim +Minkyu Kang +Jinyong Park +Woochan Lee +Taehyub Kim --
[EGIT] [core/efl] master 01/01: elementary calendar: it'd rather return false here.
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=7a71559eff63d36f2c7465591d31583bb5f8b287 commit 7a71559eff63d36f2c7465591d31583bb5f8b287 Author: Hermet Park Date: Tue Dec 6 11:07:49 2016 +0900 elementary calendar: it'd rather return false here. --- src/lib/elementary/elm_calendar.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/elementary/elm_calendar.c b/src/lib/elementary/elm_calendar.c index a2c2517..cc2384f 100644 --- a/src/lib/elementary/elm_calendar.c +++ b/src/lib/elementary/elm_calendar.c @@ -1410,7 +1410,7 @@ _key_action_move(Evas_Object *obj, const char *params) const char *dir = params; Eina_Bool ret, double_spinner = EINA_FALSE; - ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_TRUE); + ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE); _elm_widget_focus_auto_show(obj); if (!strcmp(dir, "prior")) --
[EGIT] [core/efl] master 01/01: evas textblock: fix a rendering issue.
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1e6246df24f84eebda95c9d18f90ead3f803789e commit 1e6246df24f84eebda95c9d18f90ead3f803789e Author: Hermet Park Date: Mon Dec 5 18:03:01 2016 +0900 evas textblock: fix a rendering issue. It's a rare case but a possible scenario that textblock is not updated properly in case of textblock rendering via proxy/map. If the textblock state turned out with an invisible state, its relayouting won't be up to date. But actually, it could be rendered by map/proxy. In that case textblock text layouting would be incorrect. Additionally, removed evas event freeze state there because map/proxy won't be drawn under the event freeze state always. @fix --- src/lib/evas/canvas/evas_object_textblock.c | 11 ++- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/lib/evas/canvas/evas_object_textblock.c b/src/lib/evas/canvas/evas_object_textblock.c index 6451d7b..d251ce4 100644 --- a/src/lib/evas/canvas/evas_object_textblock.c +++ b/src/lib/evas/canvas/evas_object_textblock.c @@ -12754,11 +12754,12 @@ evas_object_textblock_render(Evas_Object *eo_obj EINA_UNUSED, {0, 1, 2, 1, 0} }; - /* [FIXME!!!] rare case when relayout was not called: cache.clip made -* the object not visible (eg. clipped out), but it is actually visible -* in this context (eg. inside a proxy) - UGLY DIRTY FIX */ - if (obj->layer->evas->is_frozen && - (o->changed || o->content_changed || o->format_changed || o->obstacle_changed)) + /* FIXME: rare case when relayout was not called: cache.clip made + the object not visible (eg. clipped out), but it is actually visible + in this context (eg. inside a proxy). + Plus, one more scenario is that the object isn't visible but actually is visible + by evas_map. */ + if (o->changed || o->content_changed || o->format_changed || o->obstacle_changed) _relayout_if_needed(eo_obj, o); /* If there are no paragraphs and thus there are no lines, --
[EGIT] [core/efl] master 01/01: evas common: disable thread_queue feature on win32.
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=7d7c17c22ac9e3115fd4b78507585dc9c43c3a22 commit 7d7c17c22ac9e3115fd4b78507585dc9c43c3a22 Author: Hermet Park Date: Thu Dec 1 19:49:30 2016 +0900 evas common: disable thread_queue feature on win32. We have an issue that eina_thread_queue msg isn't delivered properly on win32. That occurs broken image drawing in case of non-smooth scaling. I disabled this feature on win32 because scale_sample_draw is gonna be rarely used since async rendering introduced. --- src/lib/evas/common/evas_scale_sample.c | 5 + 1 file changed, 5 insertions(+) diff --git a/src/lib/evas/common/evas_scale_sample.c b/src/lib/evas/common/evas_scale_sample.c index 400f645..55cfbe4 100644 --- a/src/lib/evas/common/evas_scale_sample.c +++ b/src/lib/evas/common/evas_scale_sample.c @@ -868,6 +868,11 @@ evas_common_scale_sample_init(void) { if (eina_cpu_count() <= 2) return ; +//Eina_Thread_Queue doesn't work on WIN32. +#ifdef _WIN32 + return; +#endif + thread_queue = eina_thread_queue_new(); if (EINA_UNLIKELY(!thread_queue)) { --
[EGIT] [core/efl] master 01/01: evas common: fix a typo.
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=c7620cf83cf6d7823566c47151925bf3a5c0aa81 commit c7620cf83cf6d7823566c47151925bf3a5c0aa81 Author: Hermet Park Date: Thu Dec 1 17:12:42 2016 +0900 evas common: fix a typo. --- src/lib/evas/common/evas_scale_sample.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/evas/common/evas_scale_sample.c b/src/lib/evas/common/evas_scale_sample.c index 71a805e..400f645 100644 --- a/src/lib/evas/common/evas_scale_sample.c +++ b/src/lib/evas/common/evas_scale_sample.c @@ -817,7 +817,7 @@ _evas_common_scale_sample_thread(void *data EINA_UNUSED, Evas_Scale_Msg *msg; Evas_Scale_Thread *todo = NULL; - eina_thread_name_set(eina_thread_self(), "Eevas-scale-sam"); + eina_thread_name_set(eina_thread_self(), "Evas-scale-sam"); do { void *ref; --
[EGIT] [core/efl] master 01/01: elementary flip: skip unnecessary sizing.
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=7171dd09c659ffe5597c29b50c10580237f37d67 commit 7171dd09c659ffe5597c29b50c10580237f37d67 Author: Hermet Park Date: Fri Nov 25 20:16:34 2016 +0900 elementary flip: skip unnecessary sizing. Sizing in the constructor is wrong. It's just a waste of function call. --- src/lib/elementary/efl_ui_flip.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/lib/elementary/efl_ui_flip.c b/src/lib/elementary/efl_ui_flip.c index 07e1a26..57d1b18 100644 --- a/src/lib/elementary/efl_ui_flip.c +++ b/src/lib/elementary/efl_ui_flip.c @@ -1897,8 +1897,6 @@ _efl_ui_flip_efl_canvas_group_group_add(Eo *obj, Efl_Ui_Flip_Data *priv) priv->intmode = EFL_UI_FLIP_INTERACTION_NONE; elm_widget_can_focus_set(obj, EINA_FALSE); - - _sizing_eval(obj); } EOLIAN static void --
[EGIT] [core/efl] master 01/01: efl path: add missing value intializing.
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=4584fe572166b4a70e1c23222ac0bfb96bc20933 commit 4584fe572166b4a70e1c23222ac0bfb96bc20933 Author: Hermet Park Date: Thu Nov 24 15:56:52 2016 +0900 efl path: add missing value intializing. It might be broken at some particular vector drawing. --- src/lib/efl/interfaces/efl_gfx_path.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/efl/interfaces/efl_gfx_path.c b/src/lib/efl/interfaces/efl_gfx_path.c index 5cb6385..631ec2e 100644 --- a/src/lib/efl/interfaces/efl_gfx_path.c +++ b/src/lib/efl/interfaces/efl_gfx_path.c @@ -758,7 +758,7 @@ _efl_gfx_t_for_arc_angle(double angle) if (angle < 0.1) return 0; if (angle == 90.0) return 1; - //FIXME: radians?? + radians = (angle/180) * M_PI; cos_angle = cos(radians); sin_angle = sin(radians); --
[EGIT] [core/efl] master 01/01: efl interface: define own FILL/EXPAND values.
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=4cd8dbf7a006a4213866d386dccd2c6909baed39 commit 4cd8dbf7a006a4213866d386dccd2c6909baed39 Author: Hermet Park Date: Wed Nov 9 20:06:14 2016 +0900 efl interface: define own FILL/EXPAND values. efl interface shouldn't rely on Evas. --- src/lib/efl/interfaces/efl_gfx_size_hint.eo | 13 + 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/lib/efl/interfaces/efl_gfx_size_hint.eo b/src/lib/efl/interfaces/efl_gfx_size_hint.eo index fcd3f94..2a6a79a 100644 --- a/src/lib/efl/interfaces/efl_gfx_size_hint.eo +++ b/src/lib/efl/interfaces/efl_gfx_size_hint.eo @@ -1,5 +1,10 @@ import efl_gfx_types; +const Efl.Gfx.Size.Hint.Expand: int = 1; [[Use with efl_gfx_size_hint_weight_set(), + efl_gfx_size_hint_weight_get()]] +const Efl.Gfx.Size.Hint.Fill: int = -1; [[Use with efl_gfx_size_hint_align_set(), + efl_gfx_size_hint_align_get()]] + interface Efl.Gfx.Size.Hint { [[Efl graphics size hint interface]] @@ -190,7 +195,7 @@ interface Efl.Gfx.Size.Hint This is a hint on how a container object should resize a given child within its area. Containers may adhere to the simpler logic of just expanding the child object's dimensions to fit - its own (see the #EVAS_HINT_EXPAND helper weight macro) or + its own (see the #EFL_GFX_SIZE_HINT_EXPAND helper weight macro) or the complete one of taking each child's weight hint as real weights to how much of its size to allocate for them in each axis. A container is supposed to, after normalizing the @@ -215,7 +220,7 @@ interface Efl.Gfx.Size.Hint These are hints on how to align an object inside the boundaries of a container/manager. Accepted values are in - the 0.0 to 1.0 range, with the special value #EVAS_HINT_FILL + the 0.0 to 1.0 range, with the special value #EFL_GFX_SIZE_HINT_FILL used to specify "justify" or "fill" by some users. In this case, maximum size hints should be enforced with higher priority, if they are set. Also, any padding hint set on @@ -240,9 +245,9 @@ interface Efl.Gfx.Size.Hint */ values { x: double; [[Double, ranging from 0.0 to 1.0 or with the special value - #EVAS_HINT_FILL, to use as horizontal alignment hint.]] + #EFL_GFX_SIZE_HINT_FILL, to use as horizontal alignment hint.]] y: double; [[Double, ranging from 0.0 to 1.0 or with the special value - #EVAS_HINT_FILL, to use as vertical alignment hint.]] + #EFL_GFX_SIZE_HINT_FILL, to use as vertical alignment hint.]] } } @property hint_display_mode { --
[EGIT] [core/efl] master 01/01: efl interface: fix typo.
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=e4f9f6ef1d8a6dd75bb33be2377acf26cacf3a75 commit e4f9f6ef1d8a6dd75bb33be2377acf26cacf3a75 Author: Hermet Park Date: Wed Nov 9 19:27:44 2016 +0900 efl interface: fix typo. Eeek. values are switched.. --- src/lib/efl/interfaces/efl_gfx_stack.eo | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/efl/interfaces/efl_gfx_stack.eo b/src/lib/efl/interfaces/efl_gfx_stack.eo index a871733..8fd5932 100644 --- a/src/lib/efl/interfaces/efl_gfx_stack.eo +++ b/src/lib/efl/interfaces/efl_gfx_stack.eo @@ -1,5 +1,5 @@ -const Efl.Gfx.Stack.Layer.Max: short = -32768; [[bottom-most layer number]] -const Efl.Gfx.Stack.Layer.Min: short = 32767; [[top-most layer number]] +const Efl.Gfx.Stack.Layer.Min: short = -32768; [[bottom-most layer number]] +const Efl.Gfx.Stack.Layer.Max: short = 32767; [[top-most layer number]] interface Efl.Gfx.Stack { --
[EGIT] [core/efl] master 01/01: efl interface: define constant in eo.
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=a954e9a86926fa6d5436a0fce5791324a750b70d commit a954e9a86926fa6d5436a0fce5791324a750b70d Author: Hermet Park Date: Wed Nov 9 19:07:34 2016 +0900 efl interface: define constant in eo. This patch consolidates previous patch code - 7894952e01ddc99c09eb19b88c5f3042d134ec0c. Suggested by @jpeg. --- src/lib/efl/Efl.h | 3 --- src/lib/efl/interfaces/efl_gfx_stack.eo | 5 - 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lib/efl/Efl.h b/src/lib/efl/Efl.h index 72410b9..afcb314 100644 --- a/src/lib/efl/Efl.h +++ b/src/lib/efl/Efl.h @@ -94,9 +94,6 @@ typedef Efl_Gfx_Path_Command_Type Efl_Gfx_Path_Command; #define EFL_ORIENT_180 EFL_ORIENT_DOWN #define EFL_ORIENT_270 EFL_ORIENT_LEFT -#define EFL_GFX_LAYER_MIN -32768 /**< bottom-most layer number */ -#define EFL_GFX_LAYER_MAX 32767 /**< top-most layer number */ - /* Core interface */ #include "interfaces/efl_animator.eo.h" diff --git a/src/lib/efl/interfaces/efl_gfx_stack.eo b/src/lib/efl/interfaces/efl_gfx_stack.eo index 1e103bb..a871733 100644 --- a/src/lib/efl/interfaces/efl_gfx_stack.eo +++ b/src/lib/efl/interfaces/efl_gfx_stack.eo @@ -1,3 +1,6 @@ +const Efl.Gfx.Stack.Layer.Max: short = -32768; [[bottom-most layer number]] +const Efl.Gfx.Stack.Layer.Min: short = 32767; [[top-most layer number]] + interface Efl.Gfx.Stack { [[Efl graphics stack interface]] @@ -29,7 +32,7 @@ interface Efl.Gfx.Stack } values { l: short; [[The number of the layer to place the object on. -Must be between #EFL_GFX_LAYER_MIN and #EFL_GFX_LAYER_MAX.]] +Must be between #EFL_GFX_STACK_LAYER_MIN and #EFL_GFX_STACK_LAYER_MAX.]] } } @property below { --
[EGIT] [core/efl] master 01/01: efl stack: define own LAYER_MIN/MAX values.
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=7894952e01ddc99c09eb19b88c5f3042d134ec0c commit 7894952e01ddc99c09eb19b88c5f3042d134ec0c Author: Hermet Park Date: Wed Nov 9 17:23:38 2016 +0900 efl stack: define own LAYER_MIN/MAX values. efl interface shouldn't rely on evas. --- src/lib/efl/Efl.h | 3 +++ src/lib/efl/interfaces/efl_gfx_stack.eo | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lib/efl/Efl.h b/src/lib/efl/Efl.h index afcb314..72410b9 100644 --- a/src/lib/efl/Efl.h +++ b/src/lib/efl/Efl.h @@ -94,6 +94,9 @@ typedef Efl_Gfx_Path_Command_Type Efl_Gfx_Path_Command; #define EFL_ORIENT_180 EFL_ORIENT_DOWN #define EFL_ORIENT_270 EFL_ORIENT_LEFT +#define EFL_GFX_LAYER_MIN -32768 /**< bottom-most layer number */ +#define EFL_GFX_LAYER_MAX 32767 /**< top-most layer number */ + /* Core interface */ #include "interfaces/efl_animator.eo.h" diff --git a/src/lib/efl/interfaces/efl_gfx_stack.eo b/src/lib/efl/interfaces/efl_gfx_stack.eo index 72cba17..1e103bb 100644 --- a/src/lib/efl/interfaces/efl_gfx_stack.eo +++ b/src/lib/efl/interfaces/efl_gfx_stack.eo @@ -29,7 +29,7 @@ interface Efl.Gfx.Stack } values { l: short; [[The number of the layer to place the object on. -Must be between #EVAS_LAYER_MIN and #EVAS_LAYER_MAX.]] +Must be between #EFL_GFX_LAYER_MIN and #EFL_GFX_LAYER_MAX.]] } } @property below { --
[EGIT] [core/efl] master 01/01: elementary transit: more optimal api call.
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=7cdc247b51091523b6808cef6a015aed708057e7 commit 7cdc247b51091523b6808cef6a015aed708057e7 Author: Hermet Park Date: Fri Nov 4 20:25:24 2016 +0900 elementary transit: more optimal api call. come to think of it, we have a size get api... --- src/lib/elementary/elm_transit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/elementary/elm_transit.c b/src/lib/elementary/elm_transit.c index 8ae0d87..0ff99fa 100644 --- a/src/lib/elementary/elm_transit.c +++ b/src/lib/elementary/elm_transit.c @@ -508,7 +508,7 @@ _recover_image_uv(Evas_Object *obj, Evas_Map *map, Eina_Bool revert, Eina_Bool b else { efl_gfx_fill_get(obj, &fill_x, &fill_y, &fill_w, &fill_h); - efl_gfx_geometry_get(obj, NULL, NULL, &w, &h); + efl_gfx_size_get(obj, &w, &h); double rate_x = (double) w / (double) fill_w; double rate_y = (double) h / (double) fill_h; --
[EGIT] [core/efl] master 01/01: elementary transit: support image fill area in zoom effect.
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=c446df487f15b54d0cd667ac89ddd9c8a9e86309 commit c446df487f15b54d0cd667ac89ddd9c8a9e86309 Author: Hermet Park Date: Fri Nov 4 20:19:14 2016 +0900 elementary transit: support image fill area in zoom effect. Transit zoom effect didn't care image fill area in case of manual filling. This additional logic computes map uvs with regards to the current image fill area. @fix --- src/lib/elementary/elm_transit.c | 35 +++ 1 file changed, 31 insertions(+), 4 deletions(-) diff --git a/src/lib/elementary/elm_transit.c b/src/lib/elementary/elm_transit.c index 13f6d78..8ae0d87 100644 --- a/src/lib/elementary/elm_transit.c +++ b/src/lib/elementary/elm_transit.c @@ -479,6 +479,9 @@ _recover_image_uv(Evas_Object *obj, Evas_Map *map, Eina_Bool revert, Eina_Bool b //Since the map is not proper for all types of objects, //Need to handle uvs only for image objects int iw, ih; + int x, y, w, h; + int fill_x, fill_y, fill_w, fill_h; + const char *type = evas_object_type_get(obj); if ((!type) || (strcmp(type, "image"))) return EINA_FALSE; if (evas_object_image_source_get(obj)) return EINA_FALSE; @@ -494,10 +497,34 @@ _recover_image_uv(Evas_Object *obj, Evas_Map *map, Eina_Bool revert, Eina_Bool b } else { -evas_map_point_image_uv_set(map, 0, 0, 0); -evas_map_point_image_uv_set(map, 1, iw, 0); -evas_map_point_image_uv_set(map, 2, iw, ih); -evas_map_point_image_uv_set(map, 3, 0, ih); +if (evas_object_image_filled_get(obj)) + { + x = 0; + y = 0; + w = iw; + h = ih; + } +//Zooming image fill area. +else + { + efl_gfx_fill_get(obj, &fill_x, &fill_y, &fill_w, &fill_h); + efl_gfx_geometry_get(obj, NULL, NULL, &w, &h); + + double rate_x = (double) w / (double) fill_w; + double rate_y = (double) h / (double) fill_h; + double rate_x2 = (double) iw / (double) fill_w; + double rate_y2 = (double) ih / (double) fill_h; + + x = -(int)((double) fill_x * rate_x2); + y = -(int)((double) fill_y * rate_y2); + w = (int)(((double) iw) * rate_x) + x; + h = (int)(((double) ih) * rate_y) + y; + } + +evas_map_point_image_uv_set(map, 0, x, y); +evas_map_point_image_uv_set(map, 1, w, y); +evas_map_point_image_uv_set(map, 2, w, h); +evas_map_point_image_uv_set(map, 3, x, h); } return EINA_TRUE; } --
[EGIT] [core/efl] master 01/01: evas software_engine: ++safety code.
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=c998fd5ee7e90f1861aba6d4a44d8c0b5387bb61 commit c998fd5ee7e90f1861aba6d4a44d8c0b5387bb61 Author: Hermet Park Date: Wed Sep 21 16:24:42 2016 +0900 evas software_engine: ++safety code. --- src/modules/evas/engines/software_generic/evas_engine.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/modules/evas/engines/software_generic/evas_engine.c b/src/modules/evas/engines/software_generic/evas_engine.c index 62ad71a..2755b48 100644 --- a/src/modules/evas/engines/software_generic/evas_engine.c +++ b/src/modules/evas/engines/software_generic/evas_engine.c @@ -2869,6 +2869,7 @@ eng_image_map_surface_new(void *data EINA_UNUSED, int w, int h, int alpha) surface = evas_cache2_image_copied_data(evas_common_image_cache2_get(), w, h, NULL, alpha, EVAS_COLORSPACE_ARGB); +if (!surface) return NULL; evas_cache2_image_pixels(surface); return surface; } @@ -2876,6 +2877,7 @@ eng_image_map_surface_new(void *data EINA_UNUSED, int w, int h, int alpha) surface = evas_cache_image_copied_data(evas_common_image_cache_get(), w, h, NULL, alpha, EVAS_COLORSPACE_ARGB); + if (!surface) return NULL; evas_cache_image_pixels(surface); return surface; } --
[EGIT] [core/efl] master 01/01: edje edje_cc_out: use strncpy().
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=6de3b2c5d36993cf3dbe94e8fbefd04043f91740 commit 6de3b2c5d36993cf3dbe94e8fbefd04043f91740 Author: Hermet Park Date: Wed Sep 21 15:19:19 2016 +0900 edje edje_cc_out: use strncpy(). This change is not much meaningful but avoids an annoying coverity detection. --- src/bin/edje/edje_cc_out.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/bin/edje/edje_cc_out.c b/src/bin/edje/edje_cc_out.c index 90a8e41..cf9a831 100644 --- a/src/bin/edje/edje_cc_out.c +++ b/src/bin/edje/edje_cc_out.c @@ -4036,9 +4036,10 @@ data_process_string(Edje_Part_Collection *pc, const char *prefix, char *s, void int quote, escape; keyl = strlen(prefix) + 2; - key = alloca(keyl + 1); + int key_len = keyl + 1; + key = alloca(key_len); if (!key) return; - strcpy(key, prefix); + strncpy(key, prefix, key_len); strcat(key, ":\""); quote = 0; escape = 0; --
[EGIT] [core/efl] master 01/01: edje edje_embryo: use strncpy().
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=06bd8dcf330fe31891475c92aa340d4886f47e2b commit 06bd8dcf330fe31891475c92aa340d4886f47e2b Author: Hermet Park Date: Wed Sep 21 15:03:11 2016 +0900 edje edje_embryo: use strncpy(). This change is not meaningful but avoids an annoying coverity detection. --- src/lib/edje/edje_embryo.c | 7 +++ 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/lib/edje/edje_embryo.c b/src/lib/edje/edje_embryo.c index bb46310..c09c3ff 100644 --- a/src/lib/edje/edje_embryo.c +++ b/src/lib/edje/edje_embryo.c @@ -1553,10 +1553,9 @@ _edje_embryo_fn_get_text(Embryo_Program *ep, Embryo_Cell *params) } else { - char *ss; - - ss = alloca(strlen(s) + 1); - strcpy(ss, s); + int size = strlen(s) + 1; + char *ss = alloca(size); + strncpy(ss, s, size); ss[params[3] - 1] = 0; SETSTR(ss, params[2]); } --
[EGIT] [core/efl] master 01/01: edje/edje_cc: use strncpy() instead of strcpy().
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=ab1a72f5e7df6fe0adef54bdcddd9867a2ebe3a6 commit ab1a72f5e7df6fe0adef54bdcddd9867a2ebe3a6 Author: Hermet Park Date: Wed Sep 21 13:30:44 2016 +0900 edje/edje_cc: use strncpy() instead of strcpy(). strncpy() is better for security. Also, this change avoids annoying coverity detection. --- src/bin/edje/edje_cc_parse.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/edje/edje_cc_parse.c b/src/bin/edje/edje_cc_parse.c index 525c71d..efabe22 100644 --- a/src/bin/edje/edje_cc_parse.c +++ b/src/bin/edje/edje_cc_parse.c @@ -391,7 +391,7 @@ next_token(char *p, char *end, char **new_p, int *delim) l = sscanf(tmpstr, "%*s %i \"%[^\"]\"", &nm, fl); if (l == 2) { - strcpy(file_buf, fl); + strncpy(file_buf, fl, sizeof(file_buf)); line = nm; file_in = file_buf; } --
[EGIT] [core/efl] master 01/01: evas engine: correct null check
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=ff7511ae123bbaaefcd716edc2aabf57a9139da8 commit ff7511ae123bbaaefcd716edc2aabf57a9139da8 Author: Hermet Park Date: Wed Sep 21 13:16:36 2016 +0900 evas engine: correct null check check null first, before access it. --- src/modules/evas/engines/gl_generic/evas_engine.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/modules/evas/engines/gl_generic/evas_engine.c b/src/modules/evas/engines/gl_generic/evas_engine.c index 5d0d465..5c5417f 100644 --- a/src/modules/evas/engines/gl_generic/evas_engine.c +++ b/src/modules/evas/engines/gl_generic/evas_engine.c @@ -1724,8 +1724,9 @@ eng_gl_surface_direct_renderable_get(void *data, Evas_Native_Surface *ns, Eina_B Evas_Engine_GL_Context *gl_context; Evas_GL_Image *sfc = surface; + if (!re) return EINA_FALSE; EVGLINIT(data, EINA_FALSE); - if (!re || !ns) return EINA_FALSE; + if (!ns) return EINA_FALSE; if (!evgl_native_surface_direct_opts_get(ns, &direct_render, &client_side_rotation, override)) return EINA_FALSE; --
[EGIT] [core/efl] master 01/01: Revert "evas engine: return as soon as possible if the surface or context is not valid."
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=545161d9546d1a80ca5ffd31cbc3b4d0cae335f8 commit 545161d9546d1a80ca5ffd31cbc3b4d0cae335f8 Author: Hermet Park Date: Wed Sep 21 13:06:18 2016 +0900 Revert "evas engine: return as soon as possible if the surface or context is not valid." This reverts commit 2f158ebe65cc3d007c1eae0e25590f092931ee25. misunderstood ^ operator. pinged by jpeg. previous code was correct. --- src/modules/evas/engines/software_generic/evas_engine.c | 10 +++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/modules/evas/engines/software_generic/evas_engine.c b/src/modules/evas/engines/software_generic/evas_engine.c index 361..62ad71a 100644 --- a/src/modules/evas/engines/software_generic/evas_engine.c +++ b/src/modules/evas/engines/software_generic/evas_engine.c @@ -3655,14 +3655,18 @@ eng_gl_make_current(void *data EINA_UNUSED, void *surface, void *context) _tls_check(); - if ((!sfc) || (!ctx)) + if ((!sfc) ^ (!ctx)) { ERR("Evas GL on SW engine does not support surfaceless contexts."); +return 0; + } -// Unset surface/context + // Unset surface/context + if ((!sfc) && (!ctx)) + { eina_tls_set(gl_current_ctx_key, NULL); eina_tls_set(gl_current_sfc_key, NULL); -return 0; +return 1; } // Initialize Context if it hasn't been. --
[EGIT] [core/efl] master 01/01: evas engine: return as soon as possible if the surface or context is not valid.
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=2f158ebe65cc3d007c1eae0e25590f092931ee25 commit 2f158ebe65cc3d007c1eae0e25590f092931ee25 Author: Hermet Park Date: Wed Sep 21 12:24:49 2016 +0900 evas engine: return as soon as possible if the surface or context is not valid. And later, the surface and context are accessed. So both of arguments should be valid necessarily. --- src/modules/evas/engines/software_generic/evas_engine.c | 10 +++--- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/modules/evas/engines/software_generic/evas_engine.c b/src/modules/evas/engines/software_generic/evas_engine.c index 62ad71a..361 100644 --- a/src/modules/evas/engines/software_generic/evas_engine.c +++ b/src/modules/evas/engines/software_generic/evas_engine.c @@ -3655,18 +3655,14 @@ eng_gl_make_current(void *data EINA_UNUSED, void *surface, void *context) _tls_check(); - if ((!sfc) ^ (!ctx)) + if ((!sfc) || (!ctx)) { ERR("Evas GL on SW engine does not support surfaceless contexts."); -return 0; - } - // Unset surface/context - if ((!sfc) && (!ctx)) - { +// Unset surface/context eina_tls_set(gl_current_ctx_key, NULL); eina_tls_set(gl_current_sfc_key, NULL); -return 1; +return 0; } // Initialize Context if it hasn't been. --
[EGIT] [core/efl] master 01/01: edje example: fix broken batman svg resource.
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=2569a8c880773c64857d2e627fafa0daa9a0d47a commit 2569a8c880773c64857d2e627fafa0daa9a0d47a Author: Hermet Park Date: Mon Sep 19 23:39:19 2016 +0900 edje example: fix broken batman svg resource. correct missing '/' at the end of svg tag. --- src/examples/edje/batman2.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/examples/edje/batman2.svg b/src/examples/edje/batman2.svg index 852764b..333bb08 100644 --- a/src/examples/edje/batman2.svg +++ b/src/examples/edje/batman2.svg @@ -1,3 +1,3 @@ http://www.w3.org/2000/svg"; stroke-linejoin="round" viewBox="50 -100 500 500"> - + --
[EGIT] [core/efl] master 01/01: evas map: fix the rendering problem.
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=e8fcc41e40dee07d062bff51636e464ff9d98215 commit e8fcc41e40dee07d062bff51636e464ff9d98215 Author: Hermet Park Date: Mon Sep 12 16:50:00 2016 +0900 evas map: fix the rendering problem. I got an issue report about map rendering. After investigated, I found that was introduced by data overflow. For fast computation, evas map uses integer data type rather than float, that gives up some range of data size. So, if vertex range is a little large but still reasonable, polygon won'be properly displayed due to the integer overflow. We can fix this by changing FPc data type to 64 bits (ie, long long) But I didn't do yet though I can simply fix this costlessly. By the way, my test case map points are below. 0: -1715, -5499 1: -83, -1011 2: 1957, 5721 3: 325, 1233 and gl result is perfect but sw is totally broken. @fix --- src/lib/evas/common/evas_map_image.c | 11 +-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/lib/evas/common/evas_map_image.c b/src/lib/evas/common/evas_map_image.c index 252bd3b..2a48b20 100644 --- a/src/lib/evas/common/evas_map_image.c +++ b/src/lib/evas/common/evas_map_image.c @@ -183,8 +183,15 @@ _calc_spans(RGBA_Map_Point *p, Line *spans, int ystart, int yend, int cx, int cy edge_h = (p[e2].y - p[e1].y) >> FP; //edge height if (edge_h < 1) edge_h = 1; t = (((y << FP) + (FP1 / 2) - 1) - p[e1].y) >> FP; - x= p[e2].x - p[e1].x; //edge width - x = p[e1].x + ((x * t) / edge_h); // intersected x point + x = p[e2].x - p[e1].x; //edge width + + FPc temp = (x * t); + + // TODO: prevent data overflow. We can remove this exception if FPc type is more than integer. + if (temp < 0) temp = (((x >> FP) * t) / edge_h) << FP; + else temp /= edge_h; + + x = p[e1].x + temp; // intersected x point /* // FIXME: 3d accuracy here --
[EGIT] [core/efl] master 01/01: elementary test_glview: guide ELM_ACCEL rather than ELM_ENGINE
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=ffe53365065d043e4ddf302fcbc02c988fac3430 commit ffe53365065d043e4ddf302fcbc02c988fac3430 Author: Hermet Park Date: Mon Sep 12 13:09:17 2016 +0900 elementary test_glview: guide ELM_ACCEL rather than ELM_ENGINE Specifying explicit engine name is not honored now because backened engine name depends on the system. We prefer to guide accelerator rather than engine. --- src/bin/elementary/test_glview.c | 2 +- src/bin/elementary/test_glview_manygears.c | 2 +- src/bin/elementary/test_glview_simple.c| 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/bin/elementary/test_glview.c b/src/bin/elementary/test_glview.c index 72bb0bf..2b68a73 100644 --- a/src/bin/elementary/test_glview.c +++ b/src/bin/elementary/test_glview.c @@ -703,7 +703,7 @@ test_glview(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in elm_object_text_set(lb, " GL backend engine is not supported." " 1. Check your back-end engine or" " 2. Run elementary_test with engine option or" -"ex) $ ELM_ENGINE=gl elementary_test" +"ex) $ ELM_ACCEL=gl elementary_test" " 3. Change your back-end engine from elementary_config."); evas_object_size_hint_weight_set(lb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(lb, EVAS_HINT_FILL, EVAS_HINT_FILL); diff --git a/src/bin/elementary/test_glview_manygears.c b/src/bin/elementary/test_glview_manygears.c index 003f6aa..17e0558 100644 --- a/src/bin/elementary/test_glview_manygears.c +++ b/src/bin/elementary/test_glview_manygears.c @@ -928,7 +928,7 @@ test_glview_manygears(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void elm_object_text_set(lb, " GL backend engine is not supported." " 1. Check your back-end engine or" " 2. Run elementary_test with engine option or" -"ex) $ ELM_ENGINE=gl elementary_test" +"ex) $ ELM_ACCEL=gl elementary_test" " 3. Change your back-end engine from elementary_config."); evas_object_size_hint_weight_set(lb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(lb, EVAS_HINT_FILL, EVAS_HINT_FILL); diff --git a/src/bin/elementary/test_glview_simple.c b/src/bin/elementary/test_glview_simple.c index dcc4183..ae6eece 100644 --- a/src/bin/elementary/test_glview_simple.c +++ b/src/bin/elementary/test_glview_simple.c @@ -269,7 +269,7 @@ test_glview_simple(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *e elm_object_text_set(lb, " GL backend engine is not supported." " 1. Check your back-end engine or" " 2. Run elementary_test with engine option or" -"ex) $ ELM_ENGINE=gl elementary_test" +"ex) $ ELM_ACCEL=gl elementary_test" " 3. Change your back-end engine from elementary_config."); evas_object_size_hint_weight_set(lb, 0.0, 0.0); evas_object_size_hint_align_set(lb, EVAS_HINT_FILL, EVAS_HINT_FILL); --
[EGIT] [core/efl] master 01/01: evas canvas: add missing brackets.
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=7f22addf1ca589b64dd4045b322e1127f91cbd91 commit 7f22addf1ca589b64dd4045b322e1127f91cbd91 Author: Hermet Park Date: Tue Sep 6 16:52:56 2016 +0900 evas canvas: add missing brackets. --- src/lib/evas/canvas/evas_object_smart.c | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/lib/evas/canvas/evas_object_smart.c b/src/lib/evas/canvas/evas_object_smart.c index 48d50c4..a42a2f7 100644 --- a/src/lib/evas/canvas/evas_object_smart.c +++ b/src/lib/evas/canvas/evas_object_smart.c @@ -1042,9 +1042,10 @@ evas_object_smart_changed_get(Evas_Object *eo_obj) //b. Object clipper visibility if ((obj->prev->clipper && obj->cur->clipper) && - (!obj->prev->clipper->cur->visible && !obj->cur->clipper->cur->visible || - ((obj->prev->clipper->cur->color.a == 0) && -(obj->cur->clipper->cur->color.a == 0 + ((!obj->prev->clipper->cur->visible && + !obj->cur->clipper->cur->visible) || +((obj->prev->clipper->cur->color.a == 0) && + (obj->cur->clipper->cur->color.a == 0 return EINA_FALSE; if (!obj->clip.clipees) --
[EGIT] [core/efl] master 01/01: evas canvas: fix a wrong condition check in smart changed.
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=51acb259a2f3e7ae158b66b69baf634250a9872c commit 51acb259a2f3e7ae158b66b69baf634250a9872c Author: Hermet Park Date: Tue Sep 6 16:45:23 2016 +0900 evas canvas: fix a wrong condition check in smart changed. There were 2 wrong conditions. 1. visible check. Smart changed can be skipped only if previous/current visibility are false. 2. clipper. Actually, it needed to check previous/current clippers but previously, it checked only previous clippers. @fix --- src/lib/evas/canvas/evas_object_smart.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/evas/canvas/evas_object_smart.c b/src/lib/evas/canvas/evas_object_smart.c index ccd4d2b..48d50c4 100644 --- a/src/lib/evas/canvas/evas_object_smart.c +++ b/src/lib/evas/canvas/evas_object_smart.c @@ -1042,9 +1042,9 @@ evas_object_smart_changed_get(Evas_Object *eo_obj) //b. Object clipper visibility if ((obj->prev->clipper && obj->cur->clipper) && - (!(obj->prev->clipper->cur->visible && obj->cur->clipper->cur->visible) || + (!obj->prev->clipper->cur->visible && !obj->cur->clipper->cur->visible || ((obj->prev->clipper->cur->color.a == 0) && -(obj->prev->clipper->prev->color.a == 0 +(obj->cur->clipper->cur->color.a == 0 return EINA_FALSE; if (!obj->clip.clipees) --
Re: [E-devel] Promoting
if no body objects this promotion, I will push Nikawhite access on the next Monday. Thank you. -Regards, Hermet- -Original Message- From: "Cedric BAIL" To: "e-devel"; Cc: Sent: 2015-09-08 (화) 23:56:38 Subject: Re: [E-devel] Promoting Le 8 sept. 2015 01:50, "Jean-Philippe André" a écrit : > > On Mon, Sep 7, 2015 at 1:37 PM, ChunEon Park wrote: > > > Hello everyone, > > > > I know I should have done that request earlier, but I was a little bit > > away from my computer, so it is only that I would like to request > > promoting Nikawhite out of probie to developers. > > He has been doing quite a nice job in Eflete, Enventor and EFL. > > > > Would anyone mind this promotion ? > > > > OK, no one said anything. I guess no one minds :) > > I believe Mykyta Biliavskyi aka. NikaWhite should get a direct access to > git, since he's doing a good job on eflete and enventor, and that would > help him have a simpler workflow. > > > I would like to promote Dongyeon Kim aka spacegrapher as well. He does an > excellent work on (boring) GL-related stuff, and reviewing his patches is > now just me asking him questions rather than commenting on mistakes :) > > Would anyone oppose his promotion? I like both idea so +1 and +1 from me too. Have fun, Cedric > Best regards, > > -- > Jean-Philippe André > -- > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Monitor Your Dynamic Infrastructure at Any Scale With Datadog! Get real-time metrics from all of your servers, apps and tools in one place. SourceForge users - Click here to start your Free Trial of Datadog now! http://pubads.g.doubleclick.net/gampad/clk?id=241902991&iu=/4140 ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] Promoting
+1, spacegrapher. -Regards, Hermet- -Original Message- From: "Jean-Philippe André" To: "Enlightenment developer list"; Cc: Sent: 2015-09-08 (화) 17:50:40 Subject: Re: [E-devel] Promoting On Mon, Sep 7, 2015 at 1:37 PM, ChunEon Park wrote: > Hello everyone, > > I know I should have done that request earlier, but I was a little bit > away from my computer, so it is only that I would like to request > promoting Nikawhite out of probie to developers. > He has been doing quite a nice job in Eflete, Enventor and EFL. > > Would anyone mind this promotion ? > OK, no one said anything. I guess no one minds :) I believe Mykyta Biliavskyi aka. NikaWhite should get a direct access to git, since he's doing a good job on eflete and enventor, and that would help him have a simpler workflow. I would like to promote Dongyeon Kim aka spacegrapher as well. He does an excellent work on (boring) GL-related stuff, and reviewing his patches is now just me asking him questions rather than commenting on mistakes :) Would anyone oppose his promotion? Best regards, -- Jean-Philippe André -- ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- ___ 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: hoversel: rename api scroll_enabled_set to scrollable_set
just hoping devs review api additions more carefully. thanks. -Regards, Hermet- -Original Message- From: "Amitesh Singh" To: "Enlightenment developer list"; Cc: Sent: 2015-09-08 (화) 02:01:16 Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01: hoversel: rename api scroll_enabled_set to scrollable_set Hello Hermet, Thanks for fixing. Its good that you renamed this API before release. Thanks Amitesh On Mon, Sep 7, 2015 at 5:13 PM, ChunEon Park wrote: > hermet pushed a commit to branch master. > > > http://git.enlightenment.org/core/elementary.git/commit/?id=d73ff4601193218e92867052d533ee4b686ae8fb > > commit d73ff4601193218e92867052d533ee4b686ae8fb > Author: ChunEon Park > Date: Mon Sep 7 20:41:34 2015 +0900 > > hoversel: rename api scroll_enabled_set to scrollable_set > > modify api for consistency. > scrollable_set is more closed to other similar apis. > --- > src/bin/test_hoversel.c 2 +- > src/lib/elc_hoversel.c 6 +++--- > src/lib/elm_hoversel.eo 9 ++--- > 3 files changed, 10 insertions(+), 7 deletions(-) > > diff --git a/src/bin/test_hoversel.c b/src/bin/test_hoversel.c > index 26977dd..8fd2346 100644 > --- a/src/bin/test_hoversel.c > +++ b/src/bin/test_hoversel.c > @@ -181,7 +181,7 @@ test_hoversel(void *data EINA_UNUSED, Evas_Object *obj > EINA_UNUSED, void *event_ > evas_object_show(hoversel); > > hoversel = elm_hoversel_add(win); > - elm_hoversel_scroll_enabled_set(hoversel, EINA_TRUE); > + elm_hoversel_scrollable_set(hoversel, EINA_TRUE); > elm_hoversel_hover_parent_set(hoversel, win); > elm_object_text_set(hoversel, "Some Icons"); > elm_hoversel_item_add(hoversel, "Item 1", NULL, ELM_ICON_NONE, NULL, > NULL); > diff --git a/src/lib/elc_hoversel.c b/src/lib/elc_hoversel.c > index a8bb528..c25fb6a 100644 > --- a/src/lib/elc_hoversel.c > +++ b/src/lib/elc_hoversel.c > @@ -777,13 +777,13 @@ > _elm_hoversel_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj > EINA_UNU > } > > EOLIAN void > -_elm_hoversel_scroll_enabled_set(Eo *obj EINA_UNUSED, Elm_Hoversel_Data > *sd, Eina_Bool scroll_enabled) > +_elm_hoversel_scrollable_set(Eo *obj EINA_UNUSED, Elm_Hoversel_Data *sd, > Eina_Bool scroll) > { > - sd->scroll_enabled = !!scroll_enabled; > + sd->scroll_enabled = !!scroll; > } > > EOLIAN Eina_Bool > -_elm_hoversel_scroll_enabled_get(Eo *obj EINA_UNUSED, Elm_Hoversel_Data > *sd) > +_elm_hoversel_scrollable_get(Eo *obj EINA_UNUSED, Elm_Hoversel_Data *sd) > { > return sd->scroll_enabled; > } > diff --git a/src/lib/elm_hoversel.eo b/src/lib/elm_hoversel.eo > index 36f4e76..878b454 100644 > --- a/src/lib/elm_hoversel.eo > +++ b/src/lib/elm_hoversel.eo > @@ -42,16 +42,19 @@ class Elm.Hoversel (Elm.Button, > Evas.Selectable_Interface, > return: const(list)*; > } >} > - @property scroll_enabled { > + @property scrollable { > [[Control wether scrolling is enabled. > > - This Limit the size of contents and make them scrollable.]] > + This Limit the size of contents and make them scrollable. > + > + @since 1.16 > + ]] > get { > } > set { > } > values { > -scroll_enabled: bool; [[$true if scrollable $false > otherwise.]] > +scrollable: bool; [[$true if scrollable $false otherwise.]] > } >} >hover_begin { > > -- > > > -- ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] Promoting
Hello everyone, I know I should have done that request earlier, but I was a little bit away from my computer, so it is only that I would like to request promoting Nikawhite out of probie to developers. He has been doing quite a nice job in Eflete, Enventor and EFL. Would anyone mind this promotion ? -Regards, Hermet- -- ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [core/efl] master 01/01: ecore win32: increase command buffer size.
I set the value experimentally. At least, in my test case, it was over the PATH_MAX(256) but not less than 512. If you think it should be more than 1024 then increase it please. I just realized it's useless but let's see exe_cmd_buf can be removed or not. -Regards, Hermet- -Original Message- From: "Davide Andreoli" To: "Enlightenment developer list"; Cc: ; Sent: 2015-08-29 (토) 18:52:45 Subject: Re: [E-devel] [EGIT] [core/efl] master 01/01: ecore win32: increase command buffer size. 2015-08-29 10:00 GMT+02:00 ChunEon Park : > hermet pushed a commit to branch master. > > > http://git.enlightenment.org/core/efl.git/commit/?id=d71182af7a3c787b30cd6a5747b9d5f055fee003 > > commit d71182af7a3c787b30cd6a5747b9d5f055fee003 > Author: ChunEon Park > Date: Sat Aug 29 16:59:19 2015 +0900 > > ecore win32: increase command buffer size. > > PATH_MAX is not enough for command. > Even in this case, the buffer is not being used only for path. > hmm, are you sure about this? did you tested in some way? do this really solve something? 1024 seems not enough to me, I use longer commands in epymc also looking at the function code seems that exe_cmd_buf is not used in any way, apart from being filled and truncated :/ > --- > src/lib/ecore/ecore_exe_win32.c 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/src/lib/ecore/ecore_exe_win32.c > b/src/lib/ecore/ecore_exe_win32.c > index 6e6226c..f03b05b 100644 > --- a/src/lib/ecore/ecore_exe_win32.c > +++ b/src/lib/ecore/ecore_exe_win32.c > @@ -362,7 +362,7 @@ _impl_ecore_exe_run_priority_get(void) > Eo * > _impl_ecore_exe_eo_base_finalize(Eo *obj, Ecore_Exe_Data *exe) > { > - char exe_cmd_buf[PATH_MAX]; > + char exe_cmd_buf[1024]; > SECURITY_ATTRIBUTES sa; > STARTUPINFO si; > PROCESS_INFORMATION pi; > > -- > > > -- ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] What is the elua license?
Hello. Do somebody know the license of elua in efl? q66? -Regards, Hermet- -- ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [core/efl] master 01/01: The default return value of edje_object_base_scale_get API is 1.0. The return value is used for divisor in many case. If it return 0.0 when it fail, it ca
Thanks for noti. I will take care of it in the next time. -Regards, Hermet- -Original Message- From: "Tom Hacohen" To: "Enlightenment developer list"; Cc: Sent: 2015-07-15 (수) 17:50:39 Subject: Re: [E-devel] [EGIT] [core/efl] master 01/01: The default return value of edje_object_base_scale_get API is 1.0. The return value is used for divisor in many case. If it return 0.0 when it fail, it can break app with div by zero. Hey Hermet, Thanks for the fix, but this commit message doesn't conform with the commit guidelines. The first line should be a short summary line, followed by an empty line, and followed by a longer description (optional). Also, your "signed off by" line is formatted wrong. -- Tom. On 15/07/15 04:23, ChunEon Park wrote: > hermet pushed a commit to branch master. > > http://git.enlightenment.org/core/efl.git/commit/?id=9027cde720ccd2315f780fda01933a48cedfc5ac > > commit 9027cde720ccd2315f780fda01933a48cedfc5ac > Author: ChunEon Park > Date: Wed Jul 15 12:22:41 2015 +0900 > > The default return value of edje_object_base_scale_get API is 1.0. > The return value is used for divisor in many case. > If it return 0.0 when it fail, it can break app with div by zero. > > @fix > > Signed-Off-By: YoungBok Shin(id213sin) (youngb.s...@samsung.com) > --- > src/lib/edje/edje_object.eo 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/src/lib/edje/edje_object.eo b/src/lib/edje/edje_object.eo > index 3c294aa..2641ea8 100755 > --- a/src/lib/edje/edje_object.eo > +++ b/src/lib/edje/edje_object.eo > @@ -172,7 +172,7 @@ class Edje.Object (Evas.Smart_Clipped, Efl.File) > If it isn't set, the default value is 1.0]] >} >values { > -base_scale: double; [[The base_scale factor (the default value > is @ 1.0, > +base_scale: double(1.0); [[The base_scale factor (the default > value is @ 1.0, > that means the edc file is made based on > scale 1.0.]] >} > } > -- Don't Limit Your Business. Reach for the Cloud. GigeNET's Cloud Solutions provide you with the tools and support that you need to offload your IT needs and focus on growing your business. Configured For All Businesses. Start Your Cloud Today. https://www.gigenetcloud.com/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Don't Limit Your Business. Reach for the Cloud. GigeNET's Cloud Solutions provide you with the tools and support that you need to offload your IT needs and focus on growing your business. Configured For All Businesses. Start Your Cloud Today. https://www.gigenetcloud.com/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] Commit access
+1 -Regards, Hermet- -Original Message- From: "Cedric BAIL" To: "e-devel"; ; Cc: Sent: 2015-06-26 (금) 01:45:49 Subject: [E-devel] Commit access Hello, I would like to propose Sanghyeon Lee to receive commit access. He has been doing some great work on reviewing incoming patch on genlist and gengrid. You can look at his work on phab. He is the closest we have from an elementary genlist maintainer at this stage and we seriously need someone to take a good care of his patch. I am relying on him already to do the review on genlist/gengrid related patch on phab and trust his opinion. Does anyone have a different opinion ? Have fun, -- Cedric BAIL -- Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical & virtual servers, alerts via email & sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical & virtual servers, alerts via email & sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] Enventor v0.6.0 Release
Hi folks. This is Hermet. Enventor v0.6.0 is just released after 4 months development. We've mainly focused on stabilizing and improving some fancy features such as auto completion and live edit. We're pretty sure Enventor has been much more useful tool when you writing edc. Enjoy. :) ==Videos== https://youtu.be/i1l5YHmW9cs https://youtu.be/7UEgRUb3b8A ==NEWS== Additions: Support editor font setting(font name, style, size). Add Enventor APis. enventor_object_font_set()/get() APIs. enventor_object_auto_complete_list_show() API. Removes: Get rid of template insert feature per parts. Get rid of tooltips from menu buttons. Improvements: Support more keywords in auto completion. Support more syntax color keywords Update live view with the current part that cursor positioned in. Improve live edit dragging handling. Introduce new command line arguments. Add more new file templates. Support edj output file path set. Update previous enventor config file properly by version info. Support saving edj file from file dialog. Enhance auto completion feature. Support part highlighting for SPACER type. Change short-cut keys for split views. Apply auto indentation when code is pasted. Support toggle effect on Tools GUI. Store/Restore editor split view status. Change live view scaling to zoom in/out concept. Adjust live view zoom range. (0.1 ~ 10.0) Fixes: Fix the compatibility to eo syntax change. Fix library initialization count corruption. Disable part highlight on Live Edit mode. Fix the live view to update by groups correctly. Fix wrong candidate popup position. Fix context corruption of font/view scale up/down. Fix auto completion popup sizing issue. Close auto completion popup if the line is deleted. Fix focus highlight remaining issue when live edit item is selected. Zoom up/down properly on live edit mode. Cancel live edit if the about(F1) is activated. Ctrl + wheel works even with numlock. Package Download http://download.enlightenment.org/rel/apps/enventor/enventor-0.6.0.tar.gz http://download.enlightenment.org/rel/apps/enventor/enventor-0.6.0.tar.bz2 http://download.enlightenment.org/rel/apps/enventor/enventor-0.6.0.tar.xz Source Repository http://git.enlightenment.org/tools/enventor.git See Page https://phab.enlightenment.org/w/projects/enventor/# -Regards, Hermet- -- Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical & virtual servers, alerts via email & sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] ami -> probie to dev?
thumb up. -Regards, Hermet- -Original Message- From: "Carsten Haitzler" To: "e"; Cc: Sent: 2015-06-25 (목) 17:58:28 Subject: [E-devel] ami -> probie to dev? disagreements? :) -- - Codito, ergo sum - "I code, therefore I am" -- The Rasterman (Carsten Haitzler)ras...@rasterman.com -- Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical & virtual servers, alerts via email & sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical & virtual servers, alerts via email & sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [core/efl] master 01/01: eina/simple_xml_parser: don't parse the <, > in the attribute string.
i added example (eina simple xml parser 02) for this scenario. and confirmed eina simple xml parser 01 has any problems. -Regards, Hermet- -- ___ 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: Spinner: Add changed callback call when spinner value set.
I see. It will be better to revert if this breaks the compatibility. Thanks. -Regards, Hermet- -Original Message- From: "Davide Andreoli" To: "Enlightenment developer list"; Cc: ; Sent: 2015-05-29 (금) 03:27:02 Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01: Spinner: Add changed callback call when spinner value set. Are you sure we really want this behavior? I found this kind of callback (fired by the use of the API) quite annoying most of the time... for example: you have a photo app with a visible spinner for the image zoom level, when the user "move" the spinner you change the zoom of the image. But the zoom level can also be changed in other way (mouse wheel or other buttons), so when the zoom change you set the spinner to the new value... this now trigger a changed callback as the spinner where changed by the user, causing your app to go in a loop. Another example: you have 2 spinner "linked" together (for example width and height of an image), when the user move the first spinner the code change the value of the second spinner, now this cause the callback to be called on the second... that change the value of the first... and so on, in an infinite loop. And, as always, I found this kind of behavior changes not acceptable in a released lib, as can break the functionality of existing app. I suggest everyone that are using Spinner in their apps to recheck the functionality of their widgets. 2015-05-28 13:42 GMT+02:00 woochan lee : > hermet pushed a commit to branch master. > > > http://git.enlightenment.org/core/elementary.git/commit/?id=8278dff6a742c391f7c04c3de1033574d818dbb6 > > commit 8278dff6a742c391f7c04c3de1033574d818dbb6 > Author: woochan lee > Date: Thu May 28 20:39:32 2015 +0900 > > Spinner: Add changed callback call when spinner value set. > > Summary: > There is a code to compare value is changed. > 1256: if (sd->val == val) return; > > Even value changed the value changed callback didn't called before. > > Reviewers: woohyun, shilpasingh, Hermet > > Reviewed By: shilpasingh, Hermet > > Differential Revision: https://phab.enlightenment.org/D2560 > --- > src/lib/elm_spinner.c 1 + > 1 file changed, 1 insertion(+) > > diff --git a/src/lib/elm_spinner.c b/src/lib/elm_spinner.c > index 9624380..b306e87 100644 > --- a/src/lib/elm_spinner.c > +++ b/src/lib/elm_spinner.c > @@ -1268,6 +1268,7 @@ _elm_spinner_value_set(Eo *obj, Elm_Spinner_Data > *sd, double val) > } > _val_set(obj); > _label_write(obj); > + evas_object_smart_callback_call(obj, SIG_CHANGED, NULL); > } > > EOLIAN static double > > -- > > > -- ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] enventor v0.5.1 release
Hi. Enventor v0.5.1 has been just released. There bugs were not much found/fixed since v0.5.0, However, it fixed compile issue of the package because of the broken Eo compatibility with efl v1.14. Have a fun. thank you. Fixes: Fix the compatibility to eo syntax change. Fix library initialization count corruption. Package Download: http://download.enlightenment.org/rel/apps/enventor/enventor-0.5.1.tar.gz http://download.enlightenment.org/rel/apps/enventor/enventor-0.5.1.tar.bz2 http://download.enlightenment.org/rel/apps/enventor/enventor-0.5.1.tar.xz Source Repository: http://git.enlightenment.org/tools/enventor.git See Page: https://phab.enlightenment.org/w/projects/enventor/# -Regards, Hermet- -- ___ 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: elementary: Create new widget for image masking
-Original Message- From: "Cedric BAIL" To: "Enlightenment developer list"; Cc: Sent: 2015-05-22 (금) 23:21:38 Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01: elementary: Create new widget for image masking That's already what I am doing. I am working on using the currently in development combobox for elementary in Terminology. It will obviously not land before we are good with that. Same goes with elm_code, tabs and other example I pointed to you in my previous mail. -> I don't understand your point. We need a widget for common cases. not a specific app. I don't worry about the apps you mentioned because those kind of developers are advanced and expert to efl. And this case you mentioned never prove the widget if only the app is using it. if the app is disappeared, then tabs or elm_code is useless also because nowhere it will be used. We need more various apps and contents. Our efl apis is unkind to beginners and developers tends to ignore our apis because accesibility is too expensive to them. Elementary has many useless widgets, features that have been dismissed and not maintained over time. I don't find any excuse to increase that bad trend and yes, I will hold myself to that standard. I won't push feature or widget in Elementary that are not used by an application. I don't set rules for other if I don't follow them myself this is obvious, and I would hope you know me better. -> Do you know? Most widgets are still maintained by samsung. those widgets you are thinking useless are the most being used widgets in the efl. Some of them is used for Tizen. Whatever you think, but those are the most favorite widgets in apps. -Regards, Hermet- -Original Message- From: "Cedric BAIL" To: "Enlightenment developer list"; Cc: Sent: 2015-05-22 (금) 23:21:38 Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01: elementary: Create new widget for image masking On Fri, May 22, 2015 at 3:12 PM, ChunEon Park wrote: > you will never find any toolkits - qt, wpf, gtk, android, ios requires using > script necesarily for applying masking. Please point me to the relevant documentation of a widget designed to do clipping. I am guessing it will be only in the immediate rendering API, but let see. > In my experience, as an app developer, I used to use those masking apis on > those uifw several times. Sure, that's very useful when you do immediate rendering or define a theme. I am not denying the fact that masking is a useful feature. I am denying it is a good idea to have a non themable "widget" part of a themable toolkit. > only it needs samsung? > i think it's just from your fixed idea. Sure. > And I don't wanna waste my time to make a "REAL" app to prove you. Ok, then don't waste our time maintaining a widget nobody is using. > If you argue it, then please ADD any real apps before pushing any new feature > or apis, you first. That's already what I am doing. I am working on using the currently in development combobox for elementary in Terminology. It will obviously not land before we are good with that. Same goes with elm_code, tabs and other example I pointed to you in my previous mail. -> Elementary has many useless widgets, features that have been dismissed and not maintained over time. I don't find any excuse to increase that bad trend and yes, I will hold myself to that standard. I won't push feature or widget in Elementary that are not used by an application. I don't set rules for other if I don't follow them myself this is obvious, and I would hope you know me better. -> Cedric > > -Regards, Hermet- > > -Original Message- > From: "Cedric BAIL" > To: "Enlightenment developer list"; > Cc: > Sent: 2015-05-21 (목) 19:54:51 > Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01: elementary: > Create new widget for image masking > > On Thu, May 21, 2015 at 2:03 AM, ChunEon Park wrote: >> So top posting as answering your mail inline is really hard. First of, >> I think you are confused by the state of toolkit and application. >> There is two big set of application. >> >> The first one, have their unique user interface design and their own >> world. It is the case for many standalone application like Calaos that >> control the screen as one application. It is also the case for almost >> all website. They have their own look like Facebook is different from >> Gmail and so on. There are also a few application like blender, that >> have historical reason to have their own ui style. In this scenario, >> they can still use elementary and will need to use edje to do a
Re: [E-devel] [EGIT] [core/elementary] master 01/01: elementary: Create new widget for image masking
Frame makes sense. -Original Message- From: "Davide Andreoli" To: "Enlightenment developer list"; Cc: Sent: 2015-05-23 (토) 04:58:01 Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01: elementary: Create new widget for image masking 2015-05-22 16:26 GMT+02:00 Tom Hacohen : > On 22/05/15 15:21, Cedric BAIL wrote: > > On Fri, May 22, 2015 at 3:12 PM, ChunEon Park wrote: > >> you will never find any toolkits - qt, wpf, gtk, android, ios requires > using script necesarily for applying masking. > > > > Please point me to the relevant documentation of a widget designed to > > do clipping. I am guessing it will be only in the immediate rendering > > API, but let see. > > Web CSS toolkits let you do things like circle clipping images. > > > > >> In my experience, as an app developer, I used to use those masking apis > on those uifw several times. > > > > Sure, that's very useful when you do immediate rendering or define a > > theme. I am not denying the fact that masking is a useful feature. I > > am denying it is a good idea to have a non themable "widget" part of a > > themable toolkit. > > > > That's why I said, it's probably very easy to just create a few edj > files that do common clipping patterns that people can load instead of > this widget. It's much cleaner, doesn't force us to provide any new API > and will make everyone happy. > Essentially the edj file will have a masked swallow/image part. > I agree with you here, and I try to push again my idea of just provide a style for the Frame widget. Isn't a frame the goal of the masking widget? Why not just provide one (or more) style for Frame? > > -- > Tom. > > > -- > One dashboard for servers and applications across Physical-Virtual-Cloud > Widest out-of-the-box monitoring support with 50+ applications > Performance metrics, stats and reports that give you Actionable Insights > Deep dive visibility with transaction tracing using APM Insight. > http://ad.doubleclick.net/ddm/clk/290420510;117567292;y > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y ___ 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: elementary: Create new widget for image masking
you will never find any toolkits - qt, wpf, gtk, android, ios requires using script necesarily for applying masking. In my experience, as an app developer, I used to use those masking apis on those uifw several times. only it needs samsung? i think it's just from your fixed idea. And I don't wanna waste my time to make a "REAL" app to prove you. If you argue it, then please ADD any real apps before pushing any new feature or apis, you first. -Regards, Hermet- -Original Message- From: "Cedric BAIL" To: "Enlightenment developer list"; Cc: Sent: 2015-05-21 (목) 19:54:51 Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01: elementary: Create new widget for image masking On Thu, May 21, 2015 at 2:03 AM, ChunEon Park wrote: > So top posting as answering your mail inline is really hard. First of, > I think you are confused by the state of toolkit and application. > There is two big set of application. > > The first one, have their unique user interface design and their own > world. It is the case for many standalone application like Calaos that > control the screen as one application. It is also the case for almost > all website. They have their own look like Facebook is different from > Gmail and so on. There are also a few application like blender, that > have historical reason to have their own ui style. In this scenario, > they can still use elementary and will need to use edje to do a full > customization. Nothing prevent them from providing a themability > capability for there application only. Meaning instead of making a > theme for elementary, you make a theme for Calaos that include all the > style calaos use. > > In that first case, developers need to know edc and need to care about > it. So obviously you won't use your new widget in this kind of > application as this will just not fit in. > > The second use case, it is the classic desktop application. Something > KDE/Qt do with native theme and maybe with QML now (not so sure) and > GNOME/GTK does with CSS. Something firefox also does provide. > Something we try to provide with the default theme of Elementary, an > easy way to have the same theme for every application using EFL and a > way to change the look in a conserted meaningful way. In that > scenario, the developer should never care about the look of his > application and just use default style. User and designer will provide > alternate theme. > > -> These apps are in the 10 % apps in the application world > Anyway they will build up their application whatever they want compatible > with eco-system. I have no idea where you statistic come from ! Even Windows and Mac OS X have theme ! You are just trowing numbers in the air and dismissing that a large number of application and environment are skinable. I did on purpose not throw number here has there is none. > In that second case, developers sure should not know edc and should > not care at all about it. Sadly efl and elementary are not yet on par > of what a desktop application require, so they will need to dig in to > do the missing style and widget, but still in this case your widget > should not be used as it will break the user experience when the user > change the default theme that provide all the default style. > > -> Maybe. but it depends on the app design. if you think so. even we should > not provide any content area > because user will put any kind of pre-shaped image as the content what we've > not expected. > Mask is a convenient widget for that cases. I am sorry I don't understand your sentence here and what you are trying to say. Point is, this desktop have a uniform skinable toolkit that work for all kind of application and all their widget do follow this without trouble at all. > That's why my assumption of the need of this widget was, this is for > Tizen Samsung way of doing things as it doesn't make sense for anyone > else outside. > -> Why this is for Tizen Samsung way? Don't misunderstand. And you are > working for tizen samsung. Because that's the only use case where it would have made sense, knowing the people that use EFL there. As for me working for Samsung, sure, I am, but that's no excuse to let everything going in. Elementary has a goal, offering a skinable toolkit for application. It is not a place to drop every bit of logic we don't know where to put. > Also the policy for brand new widget in Elementary has been to push > application to develop their own widget to prove that they are useful > (terminology and its tab, edi and elm_code). > > This was a good idea as > it prove their is a need for a certain type of widget before pushing > something new. Now, please show m
Re: [E-devel] [EGIT] [core/elementary] master 01/01: elementary: Create new widget for image masking
Maybe we have already useless widgets. it's true. -Regards, Hermet- -Original Message- From: "Tom Hacohen" To: ; Cc: Sent: 2015-05-20 (수) 20:40:13 Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01: elementary: Create new widget for image masking On 20/05/15 08:21, Cedric BAIL wrote: > Hello, > > So top posting as answering your mail inline is really hard. First of, > I think you are confused by the state of toolkit and application. > There is two big set of application. > > The first one, have their unique user interface design and their own > world. It is the case for many standalone application like Calaos that > control the screen as one application. It is also the case for almost > all website. They have their own look like Facebook is different from > Gmail and so on. There are also a few application like blender, that > have historical reason to have their own ui style. In this scenario, > they can still use elementary and will need to use edje to do a full > customization. Nothing prevent them from providing a themability > capability for there application only. Meaning instead of making a > theme for elementary, you make a theme for Calaos that include all the > style calaos use. > > In that first case, developers need to know edc and need to care about > it. So obviously you won't use your new widget in this kind of > application as this will just not fit in. > > The second use case, it is the classic desktop application. Something > KDE/Qt do with native theme and maybe with QML now (not so sure) and > GNOME/GTK does with CSS. Something firefox also does provide. > Something we try to provide with the default theme of Elementary, an > easy way to have the same theme for every application using EFL and a > way to change the look in a conserted meaningful way. In that > scenario, the developer should never care about the look of his > application and just use default style. User and designer will provide > alternate theme. > > In that second case, developers sure should not know edc and should > not care at all about it. Sadly efl and elementary are not yet on par > of what a desktop application require, so they will need to dig in to > do the missing style and widget, but still in this case your widget > should not be used as it will break the user experience when the user > change the default theme that provide all the default style. > > That's why my assumption of the need of this widget was, this is for > Tizen Samsung way of doing things as it doesn't make sense for anyone > else outside. > > Also the policy for brand new widget in Elementary has been to push > application to develop their own widget to prove that they are useful > (terminology and its tab, edi and elm_code). This was a good idea as > it prove their is a need for a certain type of widget before pushing > something new. Now, please show me an application that can make use of > your widget and that make sense in our eco system. I still fail to see > the point of this widget wich doesn't fit in at all. I think your last point is the strongest one. It's very easy to prove it's usefulness with a real world application. It also gives it time to evolve without forcing a possibly wrong API from the start. I think we have enough useless widgets in elm. :) -- Tom. -- One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y ___ 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: elementary: Create new widget for image masking
What are u talking about? i've never said elm isn't themeable. but edc can break it. -Regards, Hermet- -Original Message- From: "Tom Hacohen" To: ; Cc: Sent: 2015-05-20 (수) 19:59:11 Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01: elementary: Create new widget for image masking On 20/05/15 03:48, ChunEon Park wrote: > And additionally saying, > > EDC will break app theme compatibility acutally. > > If applications want to develop the system based themeable apps, > they should not touch the edc, they should write the gui with only elm > widgets. > > See the efl applications, the most application may write the layouts with edc. > they design the layout look&feel compatible with current elm theme. > > Now say, if there new elm theme come? > How they guarantee their edj gui compatbile with new elm theme? > > The application gui will be totally broken or ugly. > > App should not use the edc as possible, > Writing edc is harmful potentially, app should depend on the gui with elm > controls more than edc. > We should not guide using edc in apps as possible. I'll properly reply to the next of the thread soon. However, just to touch what I think is the point of confusion here. While I generally agree with the notion of what you are saying about what developers want. You are off the point here. Elementary the widget toolkit is themeable and that's one of the visions/promises of it. You don't like it? You probably shouldn't be using elementary. The right place for what you want is not in elementary, it's in a separate toolkit that is not themeable. That's similar to what Daniel Kolesa said (which is in turn a summary of what we talked about on irc), you need a libnon-themeable-elm that does that. Why? Again, because it's not part of Elm's vision, for better or worse that's the promise our users get. -- Tom. -- One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y ___ 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: elementary: Create new widget for image masking
Hello, So top posting as answering your mail inline is really hard. First of, I think you are confused by the state of toolkit and application. There is two big set of application. The first one, have their unique user interface design and their own world. It is the case for many standalone application like Calaos that control the screen as one application. It is also the case for almost all website. They have their own look like Facebook is different from Gmail and so on. There are also a few application like blender, that have historical reason to have their own ui style. In this scenario, they can still use elementary and will need to use edje to do a full customization. Nothing prevent them from providing a themability capability for there application only. Meaning instead of making a theme for elementary, you make a theme for Calaos that include all the style calaos use. In that first case, developers need to know edc and need to care about it. So obviously you won't use your new widget in this kind of application as this will just not fit in. The second use case, it is the classic desktop application. Something KDE/Qt do with native theme and maybe with QML now (not so sure) and GNOME/GTK does with CSS. Something firefox also does provide. Something we try to provide with the default theme of Elementary, an easy way to have the same theme for every application using EFL and a way to change the look in a conserted meaningful way. In that scenario, the developer should never care about the look of his application and just use default style. User and designer will provide alternate theme. -> These apps are in the 10 % apps in the application world Anyway they will build up their application whatever they want compatible with eco-system. In that second case, developers sure should not know edc and should not care at all about it. Sadly efl and elementary are not yet on par of what a desktop application require, so they will need to dig in to do the missing style and widget, but still in this case your widget should not be used as it will break the user experience when the user change the default theme that provide all the default style. -> Maybe. but it depends on the app design. if you think so. even we should not provide any content area because user will put any kind of pre-shaped image as the content what we've not expected. Mask is a convenient widget for that cases. That's why my assumption of the need of this widget was, this is for Tizen Samsung way of doing things as it doesn't make sense for anyone else outside. -> Why this is for Tizen Samsung way? Don't misunderstand. And you are working for tizen samsung. Also the policy for brand new widget in Elementary has been to push application to develop their own widget to prove that they are useful (terminology and its tab, edi and elm_code). This was a good idea as it prove their is a need for a certain type of widget before pushing something new. Now, please show me an application that can make use of your widget and that make sense in our eco system. I still fail to see the point of this widget wich doesn't fit in at all. -> no problem. i will push an example how people utilize it. Cedric On Wed, May 20, 2015 at 4:48 AM, ChunEon Park wrote: > And additionally saying, > > EDC will break app theme compatibility acutally. > > If applications want to develop the system based themeable apps, > they should not touch the edc, they should write the gui with only elm > widgets. > > See the efl applications, the most application may write the layouts with edc. > they design the layout look&feel compatible with current elm theme. > > Now say, if there new elm theme come? > How they guarantee their edj gui compatbile with new elm theme? > > The application gui will be totally broken or ugly. > > App should not use the edc as possible, > Writing edc is harmful potentially, app should depend on the gui with elm > controls more than edc. > We should not guide using edc in apps as possible. > > > -Regards, Hermet- > > -Original Message- > From: "ChunEon Park" > To: "Enlightenment developer list"; > Cc: > Sent: 2015-05-20 (수) 11:30:50 > Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01: elementary: > Create new widget for image masking > > why people do the virtual group for masking? > > there are a lots of simple gui applications in the world. > > Frankly, Please tell me how many apps in the word supports various themes? > See your mobile phone or desktop applications. > > Im sure more than 90 % apps in the world doesn't care the themeable but just > one gui look is enough to them. > They don't want it. They just want a application. > > Even if they write the mask with the ed
Re: [E-devel] [EGIT] [core/elementary] master 01/01: elementary: Create new widget for image masking
And additionally saying, EDC will break app theme compatibility acutally. If applications want to develop the system based themeable apps, they should not touch the edc, they should write the gui with only elm widgets. See the efl applications, the most application may write the layouts with edc. they design the layout look&feel compatible with current elm theme. Now say, if there new elm theme come? How they guarantee their edj gui compatbile with new elm theme? The application gui will be totally broken or ugly. App should not use the edc as possible, Writing edc is harmful potentially, app should depend on the gui with elm controls more than edc. We should not guide using edc in apps as possible. -Regards, Hermet- -Original Message- From: "ChunEon Park" To: "Enlightenment developer list"; Cc: Sent: 2015-05-20 (수) 11:30:50 Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01: elementary: Create new widget for image masking why people do the virtual group for masking? there are a lots of simple gui applications in the world. Frankly, Please tell me how many apps in the word supports various themes? See your mobile phone or desktop applications. Im sure more than 90 % apps in the world doesn't care the themeable but just one gui look is enough to them. They don't want it. They just want a application. Even if they write the mask with the edc, they won't care the cheageable theme nor the system theme neither. In reality, Your opinion is nothing more than those application hard to make gui. You just force to more than 90% app develop application guis only for less 10 % scenario. and you're forcing the app developers to develop difficult only. -Regards, Hermet- -Original Message- From: "Cedric BAIL" To: "e-devel"; Cc: Sent: 2015-05-16 (토) 02:56:37 Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01: elementary: Create new widget for image masking Le 15 mai 2015 16:26, "jiin.moon" a écrit : > > hermet pushed a commit to branch master. > > http://git.enlightenment.org/core/elementary.git/commit/?id=e707aa3efb0b4a0b7d6169755075a9943793e4f5 > > commit e707aa3efb0b4a0b7d6169755075a9943793e4f5 > Author: jiin.moon > Date: Fri May 15 23:09:41 2015 +0900 > > elementary: Create new widget for image masking > > Summary: > For now, if apply image mask to smart obejct, masking does not work except to implement in edc file. > @feature > > Reviewers: Jaehyun_Cho, Jaehyun, jpeg, raster, cedric, Hermet As per my comment during review this brash all the concept of efl, edge and elementary for no good reason. It should not have landed. If you want to implement theme in c do it properly by providing a virtual edje file that impotent a group in c. > Subscribers: raster, jpeg, cedric > > Projects: #elementary > > Differential Revision: https://phab.enlightenment.org/D2055 > --- > src/lib/Elementary.h.in 1 + > src/lib/Makefile.am 6 ++ > src/lib/elm_clipper.c 225 +++ > src/lib/elm_clipper.eo 78 +++ > src/lib/elm_clipper.h 41 > src/lib/elm_clipper_eo.h 11 +++ > src/lib/elm_clipper_legacy.h 12 +++ > src/lib/elm_widget_clipper.h 66 + > 8 files changed, 440 insertions(+) > > diff --git a/src/lib/Elementary.h.in b/src/lib/Elementary.h.in > index cd17bbf..87d9045 100644 > --- a/src/lib/Elementary.h.in > +++ b/src/lib/Elementary.h.in > @@ -195,6 +195,7 @@ EAPI extern Elm_Version *elm_version; > #include > #include > #include > +#include > #include > #include > #include > diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am > index 859b0ef..a488e76 100644 > --- a/src/lib/Makefile.am > +++ b/src/lib/Makefile.am > @@ -48,6 +48,7 @@ elm_widget_bubble.h \ > elm_widget_button.h \ > elm_widget_calendar.h \ > elm_widget_check.h \ > +elm_widget_clipper.h \ > elm_widget_clock.h \ > elm_widget_colorselector.h \ > elm_widget_conform.h \ > @@ -177,6 +178,9 @@ elm_calendar_common.h \ > elm_check.h \ > elm_check_eo.h \ > elm_check_legacy.h \ > +elm_clipper.h \ > +elm_clipper_eo.h \ > +elm_clipper_legacy.h \ > elm_clock.h \ > elm_clock_eo.h \ > elm_clock_legacy.h \ > @@ -424,6 +428,7 @@ elm_bubble.c \ > elm_button.c \ > elm_calendar.c \ > elm_check.c \ > +elm_clipper.c \ > elm_clock.c \ > elm_cnp.c \ > elm_colorselector.c \ > @@ -545,6 +550,7 @@ elm_bubble.eo \ > elm_button.eo \ > elm_calendar.eo \ > elm_check.eo \ > +elm_clipper.eo \ > elm_clock.eo \ > elm_colorselector.eo \ >
Re: [E-devel] [EGIT] [core/elementary] master 01/01: elementary: Create new widget for image masking
why people do the virtual group for masking? there are a lots of simple gui applications in the world. Frankly, Please tell me how many apps in the word supports various themes? See your mobile phone or desktop applications. Im sure more than 90 % apps in the world doesn't care the themeable but just one gui look is enough to them. They don't want it. They just want a application. Even if they write the mask with the edc, they won't care the cheageable theme nor the system theme neither. In reality, Your opinion is nothing more than those application hard to make gui. You just force to more than 90% app develop application guis only for less 10 % scenario. and you're forcing the app developers to develop difficult only. -Regards, Hermet- -Original Message- From: "Cedric BAIL" To: "e-devel"; Cc: Sent: 2015-05-16 (토) 02:56:37 Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01: elementary: Create new widget for image masking Le 15 mai 2015 16:26, "jiin.moon" a écrit : > > hermet pushed a commit to branch master. > > http://git.enlightenment.org/core/elementary.git/commit/?id=e707aa3efb0b4a0b7d6169755075a9943793e4f5 > > commit e707aa3efb0b4a0b7d6169755075a9943793e4f5 > Author: jiin.moon > Date: Fri May 15 23:09:41 2015 +0900 > > elementary: Create new widget for image masking > > Summary: > For now, if apply image mask to smart obejct, masking does not work except to implement in edc file. > @feature > > Reviewers: Jaehyun_Cho, Jaehyun, jpeg, raster, cedric, Hermet As per my comment during review this brash all the concept of efl, edge and elementary for no good reason. It should not have landed. If you want to implement theme in c do it properly by providing a virtual edje file that impotent a group in c. > Subscribers: raster, jpeg, cedric > > Projects: #elementary > > Differential Revision: https://phab.enlightenment.org/D2055 > --- > src/lib/Elementary.h.in 1 + > src/lib/Makefile.am 6 ++ > src/lib/elm_clipper.c 225 +++ > src/lib/elm_clipper.eo 78 +++ > src/lib/elm_clipper.h 41 > src/lib/elm_clipper_eo.h 11 +++ > src/lib/elm_clipper_legacy.h 12 +++ > src/lib/elm_widget_clipper.h 66 + > 8 files changed, 440 insertions(+) > > diff --git a/src/lib/Elementary.h.in b/src/lib/Elementary.h.in > index cd17bbf..87d9045 100644 > --- a/src/lib/Elementary.h.in > +++ b/src/lib/Elementary.h.in > @@ -195,6 +195,7 @@ EAPI extern Elm_Version *elm_version; > #include > #include > #include > +#include > #include > #include > #include > diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am > index 859b0ef..a488e76 100644 > --- a/src/lib/Makefile.am > +++ b/src/lib/Makefile.am > @@ -48,6 +48,7 @@ elm_widget_bubble.h \ > elm_widget_button.h \ > elm_widget_calendar.h \ > elm_widget_check.h \ > +elm_widget_clipper.h \ > elm_widget_clock.h \ > elm_widget_colorselector.h \ > elm_widget_conform.h \ > @@ -177,6 +178,9 @@ elm_calendar_common.h \ > elm_check.h \ > elm_check_eo.h \ > elm_check_legacy.h \ > +elm_clipper.h \ > +elm_clipper_eo.h \ > +elm_clipper_legacy.h \ > elm_clock.h \ > elm_clock_eo.h \ > elm_clock_legacy.h \ > @@ -424,6 +428,7 @@ elm_bubble.c \ > elm_button.c \ > elm_calendar.c \ > elm_check.c \ > +elm_clipper.c \ > elm_clock.c \ > elm_cnp.c \ > elm_colorselector.c \ > @@ -545,6 +550,7 @@ elm_bubble.eo \ > elm_button.eo \ > elm_calendar.eo \ > elm_check.eo \ > +elm_clipper.eo \ > elm_clock.eo \ > elm_colorselector.eo \ > elm_conformant.eo \ > diff --git a/src/lib/elm_clipper.c b/src/lib/elm_clipper.c > new file mode 100644 > index 000..374f9bf > --- /dev/null > +++ b/src/lib/elm_clipper.c > @@ -0,0 +1,225 @@ > +#ifdef HAVE_CONFIG_H > +# include "elementary_config.h" > +#endif > + > +#define ELM_INTERFACE_ATSPI_ACCESSIBLE_PROTECTED > + > +#include > + > +#include "elm_priv.h" > +#include "elm_widget_clipper.h" > +#include "elm_widget_container.h" > + > +#define MY_CLASS ELM_CLIPPER_CLASS > + > +#define MY_CLASS_NAME "Elm_Clipper" > +#define MY_CLASS_NAME_LEGACY "elm_clipper" > + > +static void > +_calc_region(Eo *obj) > +{ > + int x, y, w, h; > + int calx1, caly1, calx2, caly2; > + > + ELM_CLIPPER_DATA_GET(obj, sd); > + evas_object_geometry_get(sd->content, &x, &y, &w, &h); > + > + calx1 = (int)(w * sd->region_x1 + x); > + caly1 = (int)(h * sd->region_y1 + y); > + > + if (sd->region_x2 < sd->region_x1) calx2 = 0; > + else calx2 = (int)(w * (sd->region_x2 - sd->region_x1)); > + if (sd->region_y2 < sd->region_y1) caly2 = 0; > + else caly2 = (int)(h * (sd->region_y2 - sd->region_y1)); > + > + evas_object_move(sd->clipper, calx1, caly1); > + evas_object_resize(sd->clipper, calx2, caly2); > +} > + > +EOLIAN static void > +_elm_clipper_clip_set(Eo *obj, Elm_Clipper_Data *sd, Evas_Object *clip) > +{ > + if (sd->c
Re: [E-devel] [EGIT] [core/elementary] master 01/01: elementary: Create new widget for image masking
To be clear i say, this feature is not for tizen. buf efl. -Regards, Hermet- -Original Message- From: "Daniel Kolesa" To: "Enlightenment developer list"; Cc: Sent: 2015-05-19 (화) 22:15:16 Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01: elementary: Create new widget for image masking On Fri, May 15, 2015 at 3:26 PM, jiin.moon wrote: > hermet pushed a commit to branch master. > > http://git.enlightenment.org/core/elementary.git/commit/?id=e707aa3efb0b4a0b7d6169755075a9943793e4f5 > > commit e707aa3efb0b4a0b7d6169755075a9943793e4f5 > Author: jiin.moon > Date: Fri May 15 23:09:41 2015 +0900 > > elementary: Create new widget for image masking > > Summary: > For now, if apply image mask to smart obejct, masking does not work > except to implement in edc file. > @feature > > Reviewers: Jaehyun_Cho, Jaehyun, jpeg, raster, cedric, Hermet > > Subscribers: raster, jpeg, cedric > > Projects: #elementary > > Differential Revision: https://phab.enlightenment.org/D2055 This seems like a really bad idea to me and should be reverted. There's no reason that this kind of functionality cannot live in a separate library (Tizen specific) rather than polluting Elementary with functionality that pretty much goes against the ideas behind the EFL and Elementary. > --- > src/lib/Elementary.h.in 1 + > src/lib/Makefile.am 6 ++ > src/lib/elm_clipper.c 225 +++ > src/lib/elm_clipper.eo 78 +++ > src/lib/elm_clipper.h 41 > src/lib/elm_clipper_eo.h 11 +++ > src/lib/elm_clipper_legacy.h 12 +++ > src/lib/elm_widget_clipper.h 66 + > 8 files changed, 440 insertions(+) > > diff --git a/src/lib/Elementary.h.in b/src/lib/Elementary.h.in > index cd17bbf..87d9045 100644 > --- a/src/lib/Elementary.h.in > +++ b/src/lib/Elementary.h.in > @@ -195,6 +195,7 @@ EAPI extern Elm_Version *elm_version; > #include > #include > #include > +#include > #include > #include > #include > diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am > index 859b0ef..a488e76 100644 > --- a/src/lib/Makefile.am > +++ b/src/lib/Makefile.am > @@ -48,6 +48,7 @@ elm_widget_bubble.h \ > elm_widget_button.h \ > elm_widget_calendar.h \ > elm_widget_check.h \ > +elm_widget_clipper.h \ > elm_widget_clock.h \ > elm_widget_colorselector.h \ > elm_widget_conform.h \ > @@ -177,6 +178,9 @@ elm_calendar_common.h \ > elm_check.h \ > elm_check_eo.h \ > elm_check_legacy.h \ > +elm_clipper.h \ > +elm_clipper_eo.h \ > +elm_clipper_legacy.h \ > elm_clock.h \ > elm_clock_eo.h \ > elm_clock_legacy.h \ > @@ -424,6 +428,7 @@ elm_bubble.c \ > elm_button.c \ > elm_calendar.c \ > elm_check.c \ > +elm_clipper.c \ > elm_clock.c \ > elm_cnp.c \ > elm_colorselector.c \ > @@ -545,6 +550,7 @@ elm_bubble.eo \ > elm_button.eo \ > elm_calendar.eo \ > elm_check.eo \ > +elm_clipper.eo \ > elm_clock.eo \ > elm_colorselector.eo \ > elm_conformant.eo \ > diff --git a/src/lib/elm_clipper.c b/src/lib/elm_clipper.c > new file mode 100644 > index 000..374f9bf > --- /dev/null > +++ b/src/lib/elm_clipper.c > @@ -0,0 +1,225 @@ > +#ifdef HAVE_CONFIG_H > +# include "elementary_config.h" > +#endif > + > +#define ELM_INTERFACE_ATSPI_ACCESSIBLE_PROTECTED > + > +#include > + > +#include "elm_priv.h" > +#include "elm_widget_clipper.h" > +#include "elm_widget_container.h" > + > +#define MY_CLASS ELM_CLIPPER_CLASS > + > +#define MY_CLASS_NAME "Elm_Clipper" > +#define MY_CLASS_NAME_LEGACY "elm_clipper" > + > +static void > +_calc_region(Eo *obj) > +{ > + int x, y, w, h; > + int calx1, caly1, calx2, caly2; > + > + ELM_CLIPPER_DATA_GET(obj, sd); > + evas_object_geometry_get(sd->content, &x, &y, &w, &h); > + > + calx1 = (int)(w * sd->region_x1 + x); > + caly1 = (int)(h * sd->region_y1 + y); > + > + if (sd->region_x2 < sd->region_x1) calx2 = 0; > + else calx2 = (int)(w * (sd->region_x2 - sd->region_x1)); > + if (sd->region_y2 < sd->region_y1) caly2 = 0; > + else caly2 = (int)(h * (sd->region_y2 - sd->region_y1)); > + > + evas_object_move(sd->clipper, calx1, caly1); > + evas_object_resize(sd->clipper, calx2, caly2); > +} > + > +EOLIAN static void > +_elm_clipper_clip_set(Eo *obj, Elm_Clipper_Data *sd, Evas_Object *clip) > +{ > + if (sd->clipper != clip) > + { > +if (sd->clipper) > + { > + elm_widget_sub_object_del(obj, sd->clipper); > + if (sd->content) evas_object_clip_unset(sd->content); > + sd->clipper = NULL; > + } > +if (clip) > + { > + elm_widget_sub_object_add(obj, clip); > + evas_object_smart_member_add(clip, obj); > + _calc_region(obj); > + if (sd->content) evas_object_clip_set(sd->content, clip); > + sd->clipper = clip; > + } > + } > +} > + > +EOLIAN static Evas_Object * >
Re: [E-devel] [EGIT] [core/elementary] elementary-1.14 01/02: Merge branch 'elementary-1.14' of git+ssh://git.enlightenment.org/core/elementary into elementary-1.14
mistook. :p -Regards, Hermet- -Original Message- From: "Tom Hacohen" To: "Enlightenment developer list"; Cc: Sent: 2015-05-19 (화) 22:02:14 Subject: Re: [E-devel] [EGIT] [core/elementary] elementary-1.14 01/02: Merge branch 'elementary-1.14' of git+ssh://git.enlightenment.org/core/elementary into elementary-1.14 Seriously? On 19/05/15 13:57, ChunEon Park wrote: > hermet pushed a commit to branch elementary-1.14. > > http://git.enlightenment.org/core/elementary.git/commit/?id=943312bcec14d53edd43565ab871d59e3244273f > > commit 943312bcec14d53edd43565ab871d59e3244273f > Merge: 304899e d5e0d00 > Author: ChunEon Park > Date: Tue May 19 21:52:39 2015 +0900 > > Merge branch 'elementary-1.14' of > git+ssh://git.enlightenment.org/core/elementary into elementary-1.14 > > src/lib/elm_toolbar.c 8 +--- > 1 file changed, 1 insertion(+), 7 deletions(-) > -- One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y ___ 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: elementary: Create new widget for image masking
Let's clear it. Image itself is themeable. app can replace the image for other one. Why people need to prepare the edj for it? -Regards, Hermet- -Original Message- From: "Davide Andreoli" To: "Enlightenment developer list"; Cc: Sent: 2015-05-17 (일) 16:36:44 Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01: elementary: Create new widget for image masking 2015-05-15 19:50 GMT+02:00 Cedric BAIL : > Le 15 mai 2015 16:26, "jiin.moon" a écrit : > > > > hermet pushed a commit to branch master. > > > > > > http://git.enlightenment.org/core/elementary.git/commit/?id=e707aa3efb0b4a0b7d6169755075a9943793e4f5 > > > > commit e707aa3efb0b4a0b7d6169755075a9943793e4f5 > > Author: jiin.moon > > Date: Fri May 15 23:09:41 2015 +0900 > > > > elementary: Create new widget for image masking > > > > Summary: > > For now, if apply image mask to smart obejct, masking does not work > except to implement in edc file. > > @feature > > > > Reviewers: Jaehyun_Cho, Jaehyun, jpeg, raster, cedric, Hermet > > > > Subscribers: raster, jpeg, cedric > > > > Projects: #elementary > > As per my comment during review this brash all the concept of efl, edge and > elementary for no good reason. It should not have landed. If you want to > implement theme in c do it properly by providing a virtual edje file that > impotent a group in c. > I totally agree with you Cedric, this widget make no sense, break the themability of apps and increase the number of widgets for no good reason > > > Differential Revision: https://phab.enlightenment.org/D2055 > > --- > > src/lib/Elementary.h.in 1 + > > src/lib/Makefile.am 6 ++ > > src/lib/elm_clipper.c 225 > +++ > > src/lib/elm_clipper.eo 78 +++ > > src/lib/elm_clipper.h 41 > > src/lib/elm_clipper_eo.h 11 +++ > > src/lib/elm_clipper_legacy.h 12 +++ > > src/lib/elm_widget_clipper.h 66 + > > 8 files changed, 440 insertions(+) > > > > diff --git a/src/lib/Elementary.h.in b/src/lib/Elementary.h.in > > index cd17bbf..87d9045 100644 > > --- a/src/lib/Elementary.h.in > > +++ b/src/lib/Elementary.h.in > > @@ -195,6 +195,7 @@ EAPI extern Elm_Version *elm_version; > > #include > > #include > > #include > > +#include > > #include > > #include > > #include > > diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am > > index 859b0ef..a488e76 100644 > > --- a/src/lib/Makefile.am > > +++ b/src/lib/Makefile.am > > @@ -48,6 +48,7 @@ elm_widget_bubble.h \ > > elm_widget_button.h \ > > elm_widget_calendar.h \ > > elm_widget_check.h \ > > +elm_widget_clipper.h \ > > elm_widget_clock.h \ > > elm_widget_colorselector.h \ > > elm_widget_conform.h \ > > @@ -177,6 +178,9 @@ elm_calendar_common.h \ > > elm_check.h \ > > elm_check_eo.h \ > > elm_check_legacy.h \ > > +elm_clipper.h \ > > +elm_clipper_eo.h \ > > +elm_clipper_legacy.h \ > > elm_clock.h \ > > elm_clock_eo.h \ > > elm_clock_legacy.h \ > > @@ -424,6 +428,7 @@ elm_bubble.c \ > > elm_button.c \ > > elm_calendar.c \ > > elm_check.c \ > > +elm_clipper.c \ > > elm_clock.c \ > > elm_cnp.c \ > > elm_colorselector.c \ > > @@ -545,6 +550,7 @@ elm_bubble.eo \ > > elm_button.eo \ > > elm_calendar.eo \ > > elm_check.eo \ > > +elm_clipper.eo \ > > elm_clock.eo \ > > elm_colorselector.eo \ > > elm_conformant.eo \ > > diff --git a/src/lib/elm_clipper.c b/src/lib/elm_clipper.c > > new file mode 100644 > > index 000..374f9bf > > --- /dev/null > > +++ b/src/lib/elm_clipper.c > > @@ -0,0 +1,225 @@ > > +#ifdef HAVE_CONFIG_H > > +# include "elementary_config.h" > > +#endif > > + > > +#define ELM_INTERFACE_ATSPI_ACCESSIBLE_PROTECTED > > + > > +#include > > + > > +#include "elm_priv.h" > > +#include "elm_widget_clipper.h" > > +#include "elm_widget_container.h" > > + > > +#define MY_CLASS ELM_CLIPPER_CLASS > > + > > +#define MY_CLASS_NAME "Elm_Clipper" > > +#define MY_CLASS_NAME_LEGACY "elm_clipper" > > + > > +static void > > +_calc_region(Eo *obj) > > +{ > > + int x, y, w, h; > > + int calx1, caly1, calx2, caly2; > > + > > + ELM_CLIPPER_DATA_GET(obj, sd); > > + evas_object_geometry_get(sd->content, &x, &y, &w, &h); > > + > > + calx1 = (int)(w * sd->region_x1 + x); > > + caly1 = (int)(h * sd->region_y1 + y); > > + > > + if (sd->region_x2 < sd->region_x1) calx2 = 0; > > + else calx2 = (int)(w * (sd->region_x2 - sd->region_x1)); > > + if (sd->region_y2 < sd->region_y1) caly2 = 0; > > + else caly2 = (int)(h * (sd->region_y2 - sd->region_y1)); > > + > > + evas_object_move(sd->clipper, calx1, caly1); > > + evas_object_resize(sd->clipper, calx2, caly2); > > +} > > + > > +EOLIAN static void > > +_elm_clipper_clip_set(Eo *obj, Elm_Clipper_Data *sd, Evas_Object *clip) > > +{ > > + if (sd->clipper != clip) > > + { > > +if (sd->clipper) > > + { > > + elm_widget_sub_object_de
Re: [E-devel] [EGIT] [core/elementary] master 01/01: elementary: Create new widget for image masking
fixed. please check it again. -Regards, Hermet- -Original Message- From: "Simon Lees" To: ; Cc: Sent: 2015-05-16 (토) 11:14:15 Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01: elementary: Create new widget for image masking On 05/16/2015 03:26 AM, Cedric BAIL wrote: > Le 15 mai 2015 16:26, "jiin.moon" a écrit : >> hermet pushed a commit to branch master. >> >> > http://git.enlightenment.org/core/elementary.git/commit/?id=e707aa3efb0b4a0b7d6169755075a9943793e4f5 >> commit e707aa3efb0b4a0b7d6169755075a9943793e4f5 >> Author: jiin.moon >> Date: Fri May 15 23:09:41 2015 +0900 >> >> elementary: Create new widget for image masking >> >> Summary: >> For now, if apply image mask to smart obejct, masking does not work > except to implement in edc file. >> @feature >> >> Reviewers: Jaehyun_Cho, Jaehyun, jpeg, raster, cedric, Hermet > As per my comment during review this brash all the concept of efl, edge and > elementary for no good reason. It should not have landed. If you want to > implement theme in c do it properly by providing a virtual edje file that > impotent a group in c. It also breaks builds from make dist tars https://build.opensuse.org/package/live_build_log/X11:Enlightenment:Nightly/elementary/openSUSE_13.2/i586 make dist-bzip2 extract the tar somewhere try and build the contents > >> Subscribers: raster, jpeg, cedric >> >> Projects: #elementary >> >> Differential Revision: https://phab.enlightenment.org/D2055 >> --- >> src/lib/Elementary.h.in 1 + >> src/lib/Makefile.am 6 ++ >> src/lib/elm_clipper.c 225 > +++ >> src/lib/elm_clipper.eo 78 +++ >> src/lib/elm_clipper.h 41 >> src/lib/elm_clipper_eo.h 11 +++ >> src/lib/elm_clipper_legacy.h 12 +++ >> src/lib/elm_widget_clipper.h 66 + >> 8 files changed, 440 insertions(+) >> >> diff --git a/src/lib/Elementary.h.in b/src/lib/Elementary.h.in >> index cd17bbf..87d9045 100644 >> --- a/src/lib/Elementary.h.in >> +++ b/src/lib/Elementary.h.in >> @@ -195,6 +195,7 @@ EAPI extern Elm_Version *elm_version; >> #include >> #include >> #include >> +#include >> #include >> #include >> #include >> diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am >> index 859b0ef..a488e76 100644 >> --- a/src/lib/Makefile.am >> +++ b/src/lib/Makefile.am >> @@ -48,6 +48,7 @@ elm_widget_bubble.h \ >> elm_widget_button.h \ >> elm_widget_calendar.h \ >> elm_widget_check.h \ >> +elm_widget_clipper.h \ >> elm_widget_clock.h \ >> elm_widget_colorselector.h \ >> elm_widget_conform.h \ >> @@ -177,6 +178,9 @@ elm_calendar_common.h \ >> elm_check.h \ >> elm_check_eo.h \ >> elm_check_legacy.h \ >> +elm_clipper.h \ >> +elm_clipper_eo.h \ >> +elm_clipper_legacy.h \ >> elm_clock.h \ >> elm_clock_eo.h \ >> elm_clock_legacy.h \ >> @@ -424,6 +428,7 @@ elm_bubble.c \ >> elm_button.c \ >> elm_calendar.c \ >> elm_check.c \ >> +elm_clipper.c \ >> elm_clock.c \ >> elm_cnp.c \ >> elm_colorselector.c \ >> @@ -545,6 +550,7 @@ elm_bubble.eo \ >> elm_button.eo \ >> elm_calendar.eo \ >> elm_check.eo \ >> +elm_clipper.eo \ >> elm_clock.eo \ >> elm_colorselector.eo \ >> elm_conformant.eo \ >> diff --git a/src/lib/elm_clipper.c b/src/lib/elm_clipper.c >> new file mode 100644 >> index 000..374f9bf >> --- /dev/null >> +++ b/src/lib/elm_clipper.c >> @@ -0,0 +1,225 @@ >> +#ifdef HAVE_CONFIG_H >> +# include "elementary_config.h" >> +#endif >> + >> +#define ELM_INTERFACE_ATSPI_ACCESSIBLE_PROTECTED >> + >> +#include >> + >> +#include "elm_priv.h" >> +#include "elm_widget_clipper.h" >> +#include "elm_widget_container.h" >> + >> +#define MY_CLASS ELM_CLIPPER_CLASS >> + >> +#define MY_CLASS_NAME "Elm_Clipper" >> +#define MY_CLASS_NAME_LEGACY "elm_clipper" >> + >> +static void >> +_calc_region(Eo *obj) >> +{ >> + int x, y, w, h; >> + int calx1, caly1, calx2, caly2; >> + >> + ELM_CLIPPER_DATA_GET(obj, sd); >> + evas_object_geometry_get(sd->content, &x, &y, &w, &h); >> + >> + calx1 = (int)(w * sd->region_x1 + x); >> + caly1 = (int)(h * sd->region_y1 + y); >> + >> + if (sd->region_x2 < sd->region_x1) calx2 = 0; >> + else calx2 = (int)(w * (sd->region_x2 - sd->region_x1)); >> + if (sd->region_y2 < sd->region_y1) caly2 = 0; >> + else caly2 = (int)(h * (sd->region_y2 - sd->region_y1)); >> + >> + evas_object_move(sd->clipper, calx1, caly1); >> + evas_object_resize(sd->clipper, calx2, caly2); >> +} >> + >> +EOLIAN static void >> +_elm_clipper_clip_set(Eo *obj, Elm_Clipper_Data *sd, Evas_Object *clip) >> +{ >> + if (sd->clipper != clip) >> + { >> +if (sd->clipper) >> + { >> + elm_widget_sub_object_del(obj, sd->clipper); >> + if (sd->content) evas_object_clip_unset(sd->content); >> + sd->clipper = NULL; >> + } >> +i
Re: [E-devel] [EGIT] [core/efl] master 02/02: evas/canvas: Null check for base class data pointer.
I agree on you. Current vector is not fully stable. And I don't want crashes in vector usage. Subhransu knows the problem and keeping look the issue. Once it's fixed, he will remove it. -Regards, Hermet- -Original Message- From: "Tom Hacohen" To: "Enlightenment developer list"; Cc: Sent: 2015-05-08 (금) 20:44:30 Subject: Re: [E-devel] [EGIT] [core/efl] master 02/02: evas/canvas: Null check for base class data pointer. This is pretty much not the way to go. We don't want to hide issues, we want to fix them. You just fixed a very small symptom. I don't see a ticket on phab, I don't see a report, I don't see anything. This is bad. -- Tom. On 08/05/15 12:40, Subhransu Mohanty wrote: > hermet pushed a commit to branch master. > > http://git.enlightenment.org/core/efl.git/commit/?id=8f55ac7550360e6afcdc0567685ceb25b7ecec63 > > commit 8f55ac7550360e6afcdc0567685ceb25b7ecec63 > Author: Subhransu Mohanty > Date: Fri May 8 20:32:40 2015 +0900 > > evas/canvas: Null check for base class data pointer. > --- > src/lib/evas/canvas/evas_object_vg.c 4 > 1 file changed, 4 insertions(+) > > diff --git a/src/lib/evas/canvas/evas_object_vg.c > b/src/lib/evas/canvas/evas_object_vg.c > index 57d4090..cca772a 100644 > --- a/src/lib/evas/canvas/evas_object_vg.c > +++ b/src/lib/evas/canvas/evas_object_vg.c > @@ -226,6 +226,10 @@ evas_object_vg_render_pre(Evas_Object *eo_obj, > // FIXME: for now the walking Evas_VG_Node tree doesn't trigger any > damage > // So just forcing it here if necessary > rnd = eo_data_scope_get(vd->root, EFL_VG_BASE_CLASS); > + > + //FIXME find the reason for NULL Base Class in some case? > + if (!rnd) return; > + > if (rnd->changed) >{ > rnd->changed = EINA_FALSE; > -- One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] Work items for 1.14 stabilization phase
https://phab.enlightenment.org/T2262 was already fixed in 96c6cda2c5e803b70cf75c985337c457e383737c. -Regards, Hermet- -Original Message- From: "Stefan Schmidt" To: ; Cc: Sent: 2015-04-23 (목) 21:35:54 Subject: Re: [E-devel] Work items for 1.14 stabilization phase Hello. Here comes another update. Thanks for everyone involved. Be it reporting or fixing. Phab issues: https://phab.enlightenment.org/T2285 Edje_CC does not handle nbsp properly on arm / remove nbsp in whitespace from flipselector.edc causing build issues with edje-cc https://phab.enlightenment.org/T1973 window INLINE_IMAGE cannot be used on its own canvas https://phab.enlightenment.org/T2262 Spinner widgets bugs out when Enter key is pressed in the edit entry https://phab.enlightenment.org/T2088 Elementary Entry screams about "non-shareable string" https://phab.enlightenment.org/T2084 Genlist segs https://phab.enlightenment.org/T2336 Enlightenment crash with non standard profile (Probably Tasks Related) Coverity issues (only the ones with high impact on efl and elm) High mostly covers leaks and memory errors. A list with all of them should be behind this link: https://scan6.coverity.com:8443/reports.htm#v17029/p10304 CID 1294558 eolian_cxx CID 1294210 ector CID 1288924 emile CID 1288923 emile There are more medium and low level coverity issues left if you want to have a look. regards Stefan Schmidt -- BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT Develop your own process in accordance with the BPMN 2 standard Learn Process modeling best practices with Bonita BPM through live exercises http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y ___ 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: multibuttonentry: Add item long pressed callback.
correct. thank you for reporting. -Regards, Hermet- -Original Message- From: "Davide Andreoli" To: "Enlightenment developer list"; Cc: Sent: 2015-04-17 (금) 06:01:00 Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01: multibuttonentry: Add item long pressed callback. 2015-03-28 7:09 GMT+01:00 woochan lee : > hermet pushed a commit to branch master. > > > http://git.enlightenment.org/core/elementary.git/commit/?id=2ca3a0824756f5fff03b98f5100acc5b503698e6 > > commit 2ca3a0824756f5fff03b98f5100acc5b503698e6 > Author: woochan lee > Date: Sat Mar 28 15:05:44 2015 +0900 > > multibuttonentry: Add item long pressed callback. > > Summary: Add long pressed callback for application. test code changed > to following this change as well. > > I think this new callback have the wrong name, it is called "longpressed", while it should be "item,longpressed" as it works on items and give the item in the callback. In fact this widget have "item,clicked" (that works on items) and "clicked" (that works on the whole widget) Also note that "item,clicked" seems broken in my tests. It is never fired here... > @feature > > Reviewers: seoz, woohyun, Jaehyun, Hermet > > Differential Revision: https://phab.enlightenment.org/D2103 > > Conflicts: > > src/lib/elc_multibuttonentry.c > --- > src/bin/test_multibuttonentry.c11 +++ > src/lib/elc_multibuttonentry.c 55 > +++ > src/lib/elc_multibuttonentry.h 1 + > src/lib/elm_multibuttonentry.eo 1 + > src/lib/elm_widget_multibuttonentry.h 7 - > 5 files changed, 74 insertions(+), 1 deletion(-) > > diff --git a/src/bin/test_multibuttonentry.c > b/src/bin/test_multibuttonentry.c > index 83da32e..04c6499 100644 > --- a/src/bin/test_multibuttonentry.c > +++ b/src/bin/test_multibuttonentry.c > @@ -120,6 +120,16 @@ _shrink_state_changed_cb(void *data EINA_UNUSED, > printf("contracted state changed! \n"); > } > > +// "longpressed" smart callback > +static void > +_longpressed_cb(void *data EINA_UNUSED, > + Evas_Object *obj EINA_UNUSED, > + void *event_info EINA_UNUSED) > +{ > + printf("longpressed! \n"); > +} > + > + > // "item verified" confirm callback > static Eina_Bool > _item_filter_cb(Evas_Object *obj EINA_UNUSED, > @@ -198,6 +208,7 @@ _add_multibuttonentry(Evas_Object *parent) > evas_object_smart_callback_add(mbe, "expanded", _expanded_cb, NULL); > evas_object_smart_callback_add(mbe, "contracted", _contracted_cb, > NULL); > evas_object_smart_callback_add(mbe, "shrink,state,changed", > _shrink_state_changed_cb, NULL); > + evas_object_smart_callback_add(mbe, "longpressed", _longpressed_cb, > NULL); > > btn = _format_change_btn_add(mbe); > elm_object_part_content_set(parent, "box", btn); > diff --git a/src/lib/elc_multibuttonentry.c > b/src/lib/elc_multibuttonentry.c > index f1e5e63..9e1a755 100644 > --- a/src/lib/elc_multibuttonentry.c > +++ b/src/lib/elc_multibuttonentry.c > @@ -28,6 +28,7 @@ static const char SIG_UNFOCUSED[] = "unfocused"; > static const char SIG_EXPANDED[] = "expanded"; > static const char SIG_CONTRACTED[] = "contracted"; > static const char SIG_EXPAND_STATE_CHANGED[] = "expand,state,changed"; > +static const char SIG_LONGPRESSED[] = "longpressed"; > static const Evas_Smart_Cb_Description _smart_callbacks[] = { > {SIG_ITEM_SELECTED, ""}, > {SIG_ITEM_ADDED, ""}, > @@ -39,6 +40,7 @@ static const Evas_Smart_Cb_Description > _smart_callbacks[] = { > {SIG_EXPANDED, ""}, > {SIG_CONTRACTED, ""}, > {SIG_EXPAND_STATE_CHANGED, ""}, > + {SIG_LONGPRESSED, ""}, > {NULL, NULL} > }; > > @@ -513,6 +515,51 @@ _on_item_deleted(void *data, > } > } > > +static Eina_Bool > +_long_press_cb(void *data) > +{ > + Elm_Multibuttonentry_Item_Data *it = data; > + > + ELM_MULTIBUTTONENTRY_DATA_GET(WIDGET(it), sd); > + > + sd->longpress_timer = NULL; > + > + evas_object_smart_callback_call(WIDGET(it), SIG_LONGPRESSED, > EO_OBJ(it)); > + > + return ECORE_CALLBACK_CANCEL; > +} > + > +static void > +_mouse_down_cb(void *data, > + Evas *evas EINA_UNUSED, > + Evas_Object *obj EINA_UNUSED, > + void *event_info) > +{ > + Elm_Multibuttonentry_Item_Data *it = data; > + Evas_Event_Mouse_Down *ev = event_info; > + > + ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(WIDGET(it), sd); > + > + if (ev->button != 1) return; > + > + ecore_timer_del(sd->longpress_timer); > + sd->longpress_timer = ecore_timer_add > + (_elm_config->longpress_timeout, _long_press_cb, it); > +} > + > +static void > +_mouse_up_cb(void *data, > + Evas *evas EINA_UNUSED, > + Evas_Object *obj EINA_UNUSED, > + void *event_info EINA_UNUSED) > +{ > + Elm_Multibuttonentry_Item_Data *it = data; > + > + ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(WIDGET(it), sd); > +
Re: [E-devel] [EGIT] [core/elementary] master 01/01: win: add note for (mis)users of elm_win_window_id_get()
To Mike. API itself seems fine to me, If it designed to hide the window system. but API behavior looks hackish. -Regards, Hermet- -Original Message- From: "Tom Hacohen" To: ; Cc: Sent: 2015-04-17 (금) 16:20:05 Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01: win: add note for (mis)users of elm_win_window_id_get() On 17/04/15 08:18, ChunEon Park wrote: > Poor description. > > Rather than excuse, > Please describe what does user suppose to do with this API. Are you talking to me or Mike? Anyhow, even when explained, this is an internal hacky API (if the comment is really true), and should not be exposed like this. -- Tom. > > > -Regards, Hermet- > > -Original Message- > From: "Tom Hacohen" > To: "Enlightenment developer list"; > Cc: > Sent: 2015-04-17 (금) 01:08:08 > Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01: win: add note > for (mis)users of elm_win_window_id_get() > > On 16/04/15 17:02, Mike Blumenkrantz wrote: >> discomfitor pushed a commit to branch master. >> >> http://git.enlightenment.org/core/elementary.git/commit/?id=366597b2cb385875f8dcc0a172509e5f70c85a4a >> >> commit 366597b2cb385875f8dcc0a172509e5f70c85a4a >> Author: Mike Blumenkrantz >> Date: Thu Apr 16 11:58:30 2015 -0400 >> >> win: add note for (mis)users of elm_win_window_id_get() >> >> this function has a very small use case. if you are outside of this >> use case, >> use a different function. >> --- >>src/lib/elm_win_legacy.h 2 ++ >>1 file changed, 2 insertions(+) >> >> diff --git a/src/lib/elm_win_legacy.h b/src/lib/elm_win_legacy.h >> index 9729d8b..42bd662 100644 >> --- a/src/lib/elm_win_legacy.h >> +++ b/src/lib/elm_win_legacy.h >> @@ -218,6 +218,8 @@ EAPI void >> elm_win_wm_rotation_preferred_rotation_set(const Evas >> * >> * @ingroup Win >> * @since 1.8 >> + * @note Unless you are getting the window id for the purpose of >> communicating between client<->compositor over dbus, >> + * this is definitely not the function you are looking for. >> */ >>EAPI Ecore_Window elm_win_window_id_get(const Evas_Object *obj); >> >> > > This is so very bad. There are so many ugly hacks being introduced into > Elm for the wayland/e stuff. I'm sure there are better ways, and at the > very least, they should be moved into a different header and not be part > of the main headers... > > -- > Tom. > > -- > BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT > Develop your own process in accordance with the BPMN 2 standard > Learn Process modeling best practices with Bonita BPM through live exercises > http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ > source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- > BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT > Develop your own process in accordance with the BPMN 2 standard > Learn Process modeling best practices with Bonita BPM through live exercises > http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ > source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT Develop your own process in accordance with the BPMN 2 standard Learn Process modeling best practices with Bonita BPM through live exercises http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT Develop your own process in accordance with the BPM
Re: [E-devel] [EGIT] [core/elementary] master 01/01: win: add note for (mis)users of elm_win_window_id_get()
Poor description. Rather than excuse, Please describe what does user suppose to do with this API. -Regards, Hermet- -Original Message- From: "Tom Hacohen" To: "Enlightenment developer list"; Cc: Sent: 2015-04-17 (금) 01:08:08 Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01: win: add note for (mis)users of elm_win_window_id_get() On 16/04/15 17:02, Mike Blumenkrantz wrote: > discomfitor pushed a commit to branch master. > > http://git.enlightenment.org/core/elementary.git/commit/?id=366597b2cb385875f8dcc0a172509e5f70c85a4a > > commit 366597b2cb385875f8dcc0a172509e5f70c85a4a > Author: Mike Blumenkrantz > Date: Thu Apr 16 11:58:30 2015 -0400 > > win: add note for (mis)users of elm_win_window_id_get() > > this function has a very small use case. if you are outside of this use > case, > use a different function. > --- > src/lib/elm_win_legacy.h 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/src/lib/elm_win_legacy.h b/src/lib/elm_win_legacy.h > index 9729d8b..42bd662 100644 > --- a/src/lib/elm_win_legacy.h > +++ b/src/lib/elm_win_legacy.h > @@ -218,6 +218,8 @@ EAPI void > elm_win_wm_rotation_preferred_rotation_set(const Evas >* >* @ingroup Win >* @since 1.8 > + * @note Unless you are getting the window id for the purpose of > communicating between client<->compositor over dbus, > + * this is definitely not the function you are looking for. >*/ > EAPI Ecore_Window elm_win_window_id_get(const Evas_Object *obj); > > This is so very bad. There are so many ugly hacks being introduced into Elm for the wayland/e stuff. I'm sure there are better ways, and at the very least, they should be moved into a different header and not be part of the main headers... -- Tom. -- BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT Develop your own process in accordance with the BPMN 2 standard Learn Process modeling best practices with Bonita BPM through live exercises http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT Develop your own process in accordance with the BPMN 2 standard Learn Process modeling best practices with Bonita BPM through live exercises http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] strange elm_win_window_id_get() please read devilhorn.
does it? or reverted? -Regards, Hermet- -Original Message- From: "Christopher Michael" To: "Enlightenment developer list"; Cc: Sent: 2015-04-17 (금) 00:10:08 Subject: Re: [E-devel] strange elm_win_window_id_get() please read devilhorn. Fixed with 257452f46d344b64d611aa5 Thank you for reporting :) On 03/26/2015 11:05 AM, Christopher Michael wrote: > Hermet, > > You are 1,000% correct here !! > > elm_win_window_id_get() should be returning the ecore_wl_window_id_get(); > > An obvious mistake in the code :( I am sure at time of writing that elm > function, I had a reason for using surface_id (but since I am old, I > don't remember what that reason was) ;) > > Returning ecore_wl_window_id_get() would be more inline with what we are > expecting there and would allow use of ecore_wl functions also. > > Please feel free to patch/fix...and Thank You for spotting that !! > > Cheers, > dh > > On 03/26/2015 10:12 AM, ChunEon Park wrote: >> Hi, >> >> I found a problem at elm_win_window_id_get() API which returns the >> wayland surface id (actually proxy id). >> >> Problem is, our Ecore Wayland APIs requires Ecore_Wl_Window handle >> that is not matched with surface id. >> >> just in case Ecore X, we can use the X ID generally, but in case of >> the wayland, we cannot. >> >> Worse case is, even app can not call the wayland client apis directly >> with the surface id since wayland client interfaces requires the >> surface itself handle(wl_surface *) but not surface id (proxy id). >> >> I don't know your intention (or is it mistake?), at this moment. >> >> But I think it should return the window id with >> ecore_wl_window_id_get(), rather than elm_wl_window_surface_id_get() >> so that people get the wl_surface or Ecore_Wl_Wayland handle from the >> window id. >> >> What do you think? >> >> -Regards, Hermet- >> -- >> >> -- BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT Develop your own process in accordance with the BPMN 2 standard Learn Process modeling best practices with Bonita BPM through live exercises http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT Develop your own process in accordance with the BPMN 2 standard Learn Process modeling best practices with Bonita BPM through live exercises http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [core/efl] master 01/01: eo: add eo_error_get
See. "just feel uncomfortable" sounded personal and individual. It doesn't persuasive nor helpful at all. efl has some problem because of eo. and someone tries to make it fix before efl 1.14 you could give the actual technical feedback to author why the solution couldn't be applied. I hoped you suggested the proper way as the maintainer. Thank you. -Regards, Hermet- -Original Message- From: "Tom Hacohen" To: ; Cc: Sent: 2015-04-16 (목) 15:32:06 Subject: Re: [E-devel] [EGIT] [core/efl] master 01/01: eo: add eo_error_get On 16/04/15 01:13, ChunEon Park wrote: > I agree reverting if the api is not proper. > > but, > > why don't you feel comfortable? The API is bad, was snuck in during the freeze (bad) without talking to anyone (not just me) with any Eo development experience/involvement (bad). We didn't even get to the lack of tests required for every new API in the EFL since recently and every new API in Eo since the beginning. > and what is your suggestion? I don't remember if I talked about it on IRC, but I have talked about it on the respective ticket on phab. > > eo is not your toy project. What the fuck are you talking about? > > anyhow it seems the patch came from the eo problem. Could be, let's discuss it then, not sneak in half-assed solutions without talking to anyone. > > if you think you are the maintainer of the eo then get more responsibility. When have I not taken responsibility over Eo? tl;dr: wtf are you talking about? -- Tom. -- BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT Develop your own process in accordance with the BPMN 2 standard Learn Process modeling best practices with Bonita BPM through live exercises http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT Develop your own process in accordance with the BPMN 2 standard Learn Process modeling best practices with Bonita BPM through live exercises http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF ___ 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: radio: update doc
intended. what's the problem? -Regards, Hermet- -Original Message- From: "Yakov Goldberg" To: "Enlightenment developer list"; ; Cc: Sent: 2015-04-16 (목) 01:22:00 Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01: radio: update doc Hi Hermet, did you make a mistake in this commit? Yakov. On 04/14/2015 04:20 PM, ChunEon Park wrote: > hermet pushed a commit to branch master. > > http://git.enlightenment.org/core/elementary.git/commit/?id=517c675ffb9cce59351b706d4c08d5da1aeb9c88 > > commit 517c675ffb9cce59351b706d4c08d5da1aeb9c88 > Author: ChunEon Park > Date: Tue Apr 14 22:20:22 2015 +0900 > > radio: update doc > --- > src/lib/elm_radio.eo 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/src/lib/elm_radio.eo b/src/lib/elm_radio.eo > index 7a644aa..887eddb 100644 > --- a/src/lib/elm_radio.eo > +++ b/src/lib/elm_radio.eo > @@ -92,7 +92,7 @@ class Elm_Radio (Elm_Layout, > Elm_Interface_Atspi_Widget_Action) >@ingroup Radio */ > >params { > -@in Evas_Object *group; /*@ Any object whose group the @p obj is > to join. */ > +@in Elm_Radio *group; /*@ Any radio object whose group the @p > obj is to join. */ >} > } > } > -- BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT Develop your own process in accordance with the BPMN 2 standard Learn Process modeling best practices with Bonita BPM through live exercises http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT Develop your own process in accordance with the BPMN 2 standard Learn Process modeling best practices with Bonita BPM through live exercises http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [core/efl] master 01/01: eo: add eo_error_get
I agree reverting if the api is not proper. but, why don't you feel comfortable? and what is your suggestion? eo is not your toy project. anyhow it seems the patch came from the eo problem. if you think you are the maintainer of the eo then get more responsibility. -Regards, Hermet- -Original Message- From: "Tom Hacohen" To: ; Cc: Sent: 2015-04-15 (수) 16:17:51 Subject: Re: [E-devel] [EGIT] [core/efl] master 01/01: eo: add eo_error_get On 15/04/15 07:19, Stefan Schmidt wrote: > Hello. > > You realize we are in freeze for 1.14? > > This is adding a new EAPI without even having a user for it. > > If you want to keep this in I would need to hear a good justification > for it. > No, this needs to go out. It hasn't even been discussed. I would have reverted this even if we weren't in a freeze. I don't see the point of this function, even after reading Jpeg's explanation. Anyhow, I definitely don't feel comfortable with adding new API to Eo at this point. -- Tom. -- BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT Develop your own process in accordance with the BPMN 2 standard Learn Process modeling best practices with Bonita BPM through live exercises http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT Develop your own process in accordance with the BPMN 2 standard Learn Process modeling best practices with Bonita BPM through live exercises http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [core/efl] master 02/02: eina_matrix: Add since tags to all new functions in 1.14
The reason using the matrix is efficient in computing multiple factors - position, rotation, scale ..- at one time. eina matrix shouldn't be designed for only svg but for more common cases. evas 3d will also need the eina matrix and app may uses them for their matrix also. we should design it for more common case. so the default usage should be this, matrix m; matrix_identify(m); matrix_translate(m); matrix_rotate(m); matrix_scale(m); -Regards, Hermet- -Original Message- From: "Cedric BAIL" To: "Enlightenment developer list"; Cc: Sent: 2015-04-09 (목) 17:03:04 Subject: Re: [E-devel] [EGIT] [core/efl] master 02/02: eina_matrix: Add since tags to all new functions in 1.14 Hello, On Thu, Apr 9, 2015 at 7:44 AM, ChunEon Park wrote: > Current matrix usage seems going wrong. > I found the current matrix usage is this. > > matrix m; > matrix_translate(m, ...); > > matrix m2; > matrix_rotation(m, ...); > > matrix m3; > matrix_scale(m, ...); > > matrix m4; > matrix_compose(m, m2, m4); > > matrix m5; > matrix_compose(m3, m4, m5); > > it's unnecessary and inefficient. > Rather than, default matrix usage should be designed to compose of the > transforms. > > matrix m; > matrix_identify(m); > matrix_translate(m); > matrix_rotate(m); > matrix_scale(m); > > if you focused to single factor transform rather than composition > then single vector is enough to use rather than matrix. I am not to sure I understand what you mean correctly here. Your suggestion would be to actually apply the transformation on an existing matrix doing the set + compose in one step instead of two and simplifying the operation by knowing where the zero already are in the composition operation. The reason it is like this, is that in SVG you only read the matrix once, but you compose it almost every single frame. It made the core more compact and easier to read, but I can understand that in different usage scenario you would want to have a more optimized code path. I guess it can be done. -- Cedric BAIL -- BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT Develop your own process in accordance with the BPMN 2 standard Learn Process modeling best practices with Bonita BPM through live exercises http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT Develop your own process in accordance with the BPMN 2 standard Learn Process modeling best practices with Bonita BPM through live exercises http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [core/efl] master 02/02: eina_matrix: Add since tags to all new functions in 1.14
cedric, Current matrix usage seems going wrong. I found the current matrix usage is this. matrix m; matrix_translate(m, ...); matrix m2; matrix_rotation(m, ...); matrix m3; matrix_scale(m, ...); matrix m4; matrix_compose(m, m2, m4); matrix m5; matrix_compose(m3, m4, m5); it's unnecessary and inefficient. Rather than, default matrix usage should be designed to compose of the transforms. matrix m; matrix_identify(m); matrix_translate(m); matrix_rotate(m); matrix_scale(m); if you focused to single factor transform rather than composition then single vector is enough to use rather than matrix. -Regards, Hermet- -Original Message- From: "Stefan Schmidt" To: ; Cc: Sent: 2015-04-08 (수) 21:39:57 Subject: [EGIT] [core/efl] master 02/02: eina_matrix: Add since tags to all new functions in 1.14 stefan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=c3ee9ff22b8d74eaaad0c65ebd06f59eb1253efe commit c3ee9ff22b8d74eaaad0c65ebd06f59eb1253efe Author: Stefan Schmidt Date: Wed Apr 8 14:36:17 2015 +0200 eina_matrix: Add since tags to all new functions in 1.14 --- src/lib/eina/eina_matrix.h 63 ++ 1 file changed, 63 insertions(+) diff --git a/src/lib/eina/eina_matrix.h b/src/lib/eina/eina_matrix.h index 57b5bab..4f6c23e 100644 --- a/src/lib/eina/eina_matrix.h +++ b/src/lib/eina/eina_matrix.h @@ -76,9 +76,14 @@ struct _Eina_Matrix3_F16p16 * * This function sets @p m to the identity matrix. No check is done on * @p m. + * + * @since 1.14 */ EAPI void eina_matrix3_f16p16_identity(Eina_Matrix3_F16p16 *m); +/** + * @since 1.14 + */ EAPI void eina_matrix3_f16p16_compose(const Eina_Matrix3_F16p16 *m1, const Eina_Matrix3_F16p16 *m2, Eina_Matrix3_F16p16 *dst); @@ -91,6 +96,8 @@ EAPI void eina_matrix3_f16p16_compose(const Eina_Matrix3_F16p16 *m1, * * This function returns the type of the matrix @p m. No check is done * on @p m. + * + * @since 1.14 */ EAPI Eina_Matrix_Type eina_matrix3_f16p16_type_get(const Eina_Matrix3_F16p16 *m); @@ -138,6 +145,8 @@ struct _Eina_Matrix3 * * This function returns the type of the matrix @p m. No check is done * on @p m. + * + * @since 1.14 */ EAPI Eina_Matrix_Type eina_matrix3_type_get(const Eina_Matrix3 *m); @@ -160,6 +169,8 @@ EAPI Eina_Matrix_Type eina_matrix3_type_get(const Eina_Matrix3 *m); * @p m. No check is done on @p m. * * @see eina_matrix3_values_get() + * + * @since 1.14 */ EAPI void eina_matrix3_values_set(Eina_Matrix3 *m, double xx, double xy, double xz, @@ -185,6 +196,8 @@ EAPI void eina_matrix3_values_set(Eina_Matrix3 *m, * @p m. No check is done on @p m. * * @see eina_matrix3_values_set() + * + * @since 1.14 */ EAPI void eina_matrix3_values_get(const Eina_Matrix3 *m, double *xx, double *xy, double *xz, @@ -210,6 +223,8 @@ EAPI void eina_matrix3_values_get(const Eina_Matrix3 *m, * @p m. No check is done on @p m. * * @see eina_matrix3_values_set() + * + * @since 1.14 */ EAPI void eina_matrix3_fixed_values_get(const Eina_Matrix3 *m, Eina_F16p16 *xx, Eina_F16p16 *xy, Eina_F16p16 *xz, @@ -226,6 +241,8 @@ EAPI void eina_matrix3_fixed_values_get(const Eina_Matrix3 *m, * This function transforms the floating point matrix @p m to a fixed * point matrix and store the coefficients into the fixed point matrix * @p fm. + * + * @since 1.14 */ EAPI void eina_matrix3_matrix3_f16p16_to(const Eina_Matrix3 *m, Eina_Matrix3_F16p16 *fm); @@ -239,8 +256,14 @@ EAPI void eina_matrix3_matrix3_f16p16_to(const Eina_Matrix3 *m, * * This function return EINA_TRUE if thematrices @p m1 and @p m2 are * equal, EINA_FALSE otherwise. No check is done on the matrices. + * + * @since 1.14 */ EAPI Eina_Bool eina_matrix3_equal(const Eina_Matrix3 *m1, const Eina_Matrix3 *m2); + +/** + * @since 1.14 + */ EAPI void eina_matrix3_compose(const Eina_Matrix3 *m1, const Eina_Matrix3 *m2, Eina_Matrix3 *dst); @@ -250,6 +273,8 @@ EAPI void eina_matrix3_compose(const Eina_Matrix3 *m1, * @param[in] m The matrix to set the translation values * @param[in] tx The X coordinate translate * @param[in] ty The Y coordinate translate + * + * @since 1.14 */ EAPI void eina_matrix3_translate(Eina_Matrix3 *t, double tx, double ty); @@ -258,6 +283,8 @@ EAPI void eina_matrix3_translate(Eina_Matrix3 *t, double tx, double ty); * @param[in] m The matrix to set the scale values * @param[in] sx The X coordinate scale * @param[in] sy The Y coordinate scale + * + * @since 1.14 */ EAPI void eina_matrix3_scale(Eina_Matrix3 *t, double sx, double sy); @@ -265,6 +292,8 @@ EAPI void eina_matrix3_scale(Eina_Matrix
Re: [E-devel] [EGIT] [core/efl] master 01/01: evas/common Fixed incorrect blend pixel color logic in neon.
np. thanks! -Regards, Hermet- -Original Message- From: "Tom Hacohen" To: "Enlightenment developer list"; Cc: Sent: 2015-04-07 (화) 19:21:14 Subject: Re: [E-devel] [EGIT] [core/efl] master 01/01: evas/common Fixed incorrect blend pixel color logic in neon. On 03/04/15 11:48, ChunEon Park wrote: > hermet pushed a commit to branch master. > > http://git.enlightenment.org/core/efl.git/commit/?id=2b0fb1ea1d09ca27e73c770f30d9ff8c8e964f0c > > commit 2b0fb1ea1d09ca27e73c770f30d9ff8c8e964f0c > Author: ChunEon Park > Date: Fri Apr 3 19:38:33 2015 +0900 > > evas/common Fixed incorrect blend pixel color logic in neon. > > previously, it had the remaining value issues on blending computation. > The blending color result was in correct. > Hey Hermet, Just one comment, could you please, in the future, format the summary line as follows: "evas common: " and not "evas/common " Thanks. > Signed-Off-By: Vladimir Kuramshin > --- > .../evas_op_blend/op_blend_pixel_color_neon.c 274 > ++--- > 1 file changed, 81 insertions(+), 193 deletions(-) > > diff --git a/src/lib/evas/common/evas_op_blend/op_blend_pixel_color_neon.c > b/src/lib/evas/common/evas_op_blend/op_blend_pixel_color_neon.c > index c8fa546..d6b3a73 100644 > --- a/src/lib/evas/common/evas_op_blend/op_blend_pixel_color_neon.c > +++ b/src/lib/evas/common/evas_op_blend/op_blend_pixel_color_neon.c > @@ -8,202 +8,90 @@ > static void > _op_blend_p_c_dp_neon(DATA32 * __restrict s, DATA8 *m EINA_UNUSED, DATA32 > c, DATA32 * __restrict d, int l) { > > -/* Current this neon code is a little buggy, color blending won't be done > - correctly. So leave the code depend on the compilier optimization. */ > -#if 1 > - int i; > - int alpha; > - > - for (i = 0; i < l; i++) > - { > -DATA32 sc = MUL4_SYM(c, s[i]); > -alpha = 256 - (sc >> 24); > -d[i] = sc + MUL_256(alpha, d[i]); > - } > -#else > #define AP"blend_p_c_dp_" > asm volatile ( > -".fpu neon\n\t" > -// Load 'c' > -"vdup.u32q7, %[c]\n\t" > -"vmov.i8q6, #1\n\t" > - > -// Choose a loop > -"andS%[tmp], %[d], $0xf\n\t" > -"beq"AP"quadstart\n\t" > - > -"andS%[tmp],%[d], $0x4\n\t" > -"beq"AP"dualloop\n\t" > - > -AP"singleloop:" > -"vld1.32d0[0], [%[s]]!\n\t" > -"vld1.32d2[0],[%[d]]\n\t" > -// Mulitply s * c (= sc) > -"vmull.u8q4,d0,d14\n\t" > -// sc in d8 > -"vqrshrn.u16d4,q4, #8\n\t" > - > -// sca in d9 > -"vmvn.u32d6,d4\n\t" > -"vshr.u32d6,d6, #24\n\t" > - > -"vmul.u32d6, d12, d6 \n\t" > - > -/* d * alpha */ > -"vmull.u8q4,d6, d2 \n\t" > -"vqrshrn.u16d0,q4, #8\n\t" > - > -"vqadd.u8d2,d0, d4\n\t" > - > -// Save dsc + sc > -"vst1.32d2[0],[%[d]]!\n\t" > - > -// Now where? > -// Can we go the fast path? > -"andS%[tmp], %[d],$0xf\n\t" > -"beq"AP"quadstart\n\t" > - > -AP"dualloop:\n\t" > -// Check we have enough to bother with! > -"sub%[tmp], %[e], %[d]\n\t" > -"cmp%[tmp], #16\n\t" > -"blt"AP"loopout\n\t" > - > -// load 's' -> q0, 'd' -> q1 > -"vldm%[s]!,{d0}\n\t" > -"vldm%[d], {d2}\n\t" > -// Mulitply s * c (= sc) > -"vmull.u8q4,d0,d14\n\t" > -// sc in d8 > -"vqrshrn.u16d4,q4, #8\n\t" > - > -// sca in d9 > -"vmvn.u32d6,d4\n\t" > -"vshr.u32d6,d6, #24\n\t" > - > -"vmul.u32d6, d12, d6 \n\t" > - > -/* d * alpha */ > -"vmull.u8q4,d6, d2 \n\t" > -"vqrshrn.u16d0,q4, #8\n\t" > - > -"vqadd.u8d2,d0, d4\n\t" > - > -// Save dsc + sc > -"vst1.32d2,[%[d]]!\n\t" > - > -AP"quadstart:\n\t" > -"sub%[tmp], %[e], %[d]\n\t" > -"cmp%[tmp], #16\n\t" > -"blt"AP"loopout\n\t" > - > -"sub%[tmp], %[e], #15\n\t" > - > -AP"quadloop:\n\t" > -// load 's' -> q0, 'd' -> q1 > -"vldm%[s]!, {d0,d1}\n\t" > -"vldm%[d], {d2,d3}\n\t" > -// Mulitply s * c (= sc) > -"vmull.u8q4,d0,d14\n\t" > -"vmull.u8q5,d1,d14\n\t" > - > -// Get sc & sc alpha > -"vqrshrn.u16d4,q4, #8\n\t" > -"vqrshrn.u16d5,q5, #8\n\t" > -// sc is now in q2, 8bpp > -// Shift out, then spread alpha fo
[EGIT] [core/efl] master 02/02: evas common: make logic same to c code version.
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1e33454772183563e0d2ffca6c961ff5822392ef commit 1e33454772183563e0d2ffca6c961ff5822392ef Author: ChunEon Park Date: Tue Apr 7 23:06:43 2015 +0900 evas common: make logic same to c code version. As C version, It increase alpha value by 1 to avoid loosing of the remains while it divides values. Neon version does same technique to make same results. --- src/lib/evas/common/evas_convert_color.c | 27 +-- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/src/lib/evas/common/evas_convert_color.c b/src/lib/evas/common/evas_convert_color.c index d7056c8..c34e80b 100644 --- a/src/lib/evas/common/evas_convert_color.c +++ b/src/lib/evas/common/evas_convert_color.c @@ -32,7 +32,7 @@ evas_common_convert_argb_premul(DATA32 *data, unsigned int len) DATA32 *de = data + len; DATA32 nas = 0; - #ifdef BUILD_NEON +#ifdef BUILD_NEON if (evas_common_cpu_has_feature(CPU_FEATURE_NEON)) { uint8x8_t mask_0x00 = vdup_n_u8(0); @@ -42,31 +42,30 @@ evas_common_convert_argb_premul(DATA32 *data, unsigned int len) while (data <= de - 8) { - uint8x8x4_t rgba = vld4_u8(data); - cmp = vand_u8(vorr_u8( - vceq_u8(rgba.val[3], mask_0xff), - vceq_u8(rgba.val[3], mask_0x00) - ), mask_0x01); + cmp = vand_u8(vorr_u8(vceq_u8(rgba.val[3], mask_0xff), + vceq_u8(rgba.val[3], mask_0x00)), + mask_0x01); nas += vpaddl_u32(vpaddl_u16(vpaddl_u8(cmp))); uint16x8x4_t lrgba; - lrgba.val[0] = vmovl_u8(rgba.val[0]); lrgba.val[1] = vmovl_u8(rgba.val[1]); lrgba.val[2] = vmovl_u8(rgba.val[2]); - - rgba.val[0] = vshrn_n_u16(vmlal_u8(lrgba.val[0], rgba.val[0], rgba.val[3]), 8); - rgba.val[1] = vshrn_n_u16(vmlal_u8(lrgba.val[1], rgba.val[1], rgba.val[3]), 8); - rgba.val[2] = vshrn_n_u16(vmlal_u8(lrgba.val[2], rgba.val[2], rgba.val[3]), 8); - + lrgba.val[3] = vaddl_u8(rgba.val[3], mask_0x01); + + rgba.val[0] = vshrn_n_u16(vmlaq_u16(lrgba.val[0], lrgba.val[0], + lrgba.val[3]), 8); + rgba.val[1] = vshrn_n_u16(vmlaq_u16(lrgba.val[1], lrgba.val[1], + lrgba.val[3]), 8); + rgba.val[2] = vshrn_n_u16(vmlaq_u16(lrgba.val[2], lrgba.val[2], + lrgba.val[3]), 8); vst4_u8(data, rgba); data += 8; - } } - #endif +#endif while (data < de) { --
[EGIT] [core/efl] master 01/02: evas common: NEON version of evas_common_convert_argb_premul.
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=51d60e649cca3411ac26a6a22a02288930c2fd1f commit 51d60e649cca3411ac26a6a22a02288930c2fd1f Author: ChunEon Park Date: Tue Apr 7 23:02:15 2015 +0900 evas common: NEON version of evas_common_convert_argb_premul. This patch reduces power consumption by around 18mA in certain scenarios (music player list scroll, my files sound list scroll), making evas_common_convert_argb_premul() ~60% faster (6.2msec->2.6msec). Take music-player application, make 100 copies of the standard Over the Horizon” song, scroll up and down to see those downscaled-from-720x720 thumbnails enter and leave the screen. Every time a list item enters the screen, the image is re-read (as evas image cache is not large enough to store more than two pictures of that size), and one call of _common_convert_argb_premul() occurs, taking ~6.2msec (which is not much compared to ~60msec spent in libpng->libz (the biggest bottleneck here), but still noticeable). A similar power consumption improvement is observed during scrolling sounds list of the same files in My Files application (just with idle level ~100mA lower). We also checked the new code to be correct on random input data. all tests are performed based on tizen device. Signed-Off-By: Artem Dergachev --- src/lib/evas/common/evas_convert_color.c | 40 1 file changed, 40 insertions(+) diff --git a/src/lib/evas/common/evas_convert_color.c b/src/lib/evas/common/evas_convert_color.c index 0f7975b..d7056c8 100644 --- a/src/lib/evas/common/evas_convert_color.c +++ b/src/lib/evas/common/evas_convert_color.c @@ -1,6 +1,10 @@ #include "evas_common_private.h" #include "evas_convert_color.h" +#ifdef BUILD_NEON +#include +#endif + EAPI DATA32 evas_common_convert_ag_premul(DATA16 *data, unsigned int len) { @@ -28,6 +32,42 @@ evas_common_convert_argb_premul(DATA32 *data, unsigned int len) DATA32 *de = data + len; DATA32 nas = 0; + #ifdef BUILD_NEON + if (evas_common_cpu_has_feature(CPU_FEATURE_NEON)) + { +uint8x8_t mask_0x00 = vdup_n_u8(0); +uint8x8_t mask_0x01 = vdup_n_u8(1); +uint8x8_t mask_0xff = vdup_n_u8(255); +uint8x8_t cmp; + +while (data <= de - 8) + { + + uint8x8x4_t rgba = vld4_u8(data); + + cmp = vand_u8(vorr_u8( + vceq_u8(rgba.val[3], mask_0xff), + vceq_u8(rgba.val[3], mask_0x00) + ), mask_0x01); + nas += vpaddl_u32(vpaddl_u16(vpaddl_u8(cmp))); + + uint16x8x4_t lrgba; + + lrgba.val[0] = vmovl_u8(rgba.val[0]); + lrgba.val[1] = vmovl_u8(rgba.val[1]); + lrgba.val[2] = vmovl_u8(rgba.val[2]); + + rgba.val[0] = vshrn_n_u16(vmlal_u8(lrgba.val[0], rgba.val[0], rgba.val[3]), 8); + rgba.val[1] = vshrn_n_u16(vmlal_u8(lrgba.val[1], rgba.val[1], rgba.val[3]), 8); + rgba.val[2] = vshrn_n_u16(vmlal_u8(lrgba.val[2], rgba.val[2], rgba.val[3]), 8); + + vst4_u8(data, rgba); + data += 8; + + } + } + #endif + while (data < de) { DATA32 a = 1 + (*data >> 24); --
Re: [E-devel] Erigo v1.0.0 is out!
thanks. look the bug has gone. but still there are random crashes. while dragging & dropping (gdb) where #0 0x0808bc65 in dnd_drag_data_get () #1 0x08081309 in _drop_target_main_wdg_enter () #2 0xb797eb92 in _x11_dnd_dropable_handle (dropable=0x86578e0, x=558, y=280, action=ELM_XDND_ACTION_COPY) at elm_cnp.c:1474 #3 0xb798186e in _x11_dnd_position (data=0x0, etype=116, ev=0x8ab1188) at elm_cnp.c:1621 #4 0xb7f279dc in _ecore_call_handler_cb (event=, type=, data=, func=0xb7981370 <_x11_dnd_position>) at lib/ecore/ecore_private.h:359 #5 _ecore_event_call () at lib/ecore/ecore_events.c:562 #6 0xb7f2fe25 in _ecore_main_loop_iterate_internal (once_only=0) at lib/ecore/ecore_main.c:1947 #7 0xb7f3003f in ecore_main_loop_begin () at lib/ecore/ecore_main.c:982 #8 0xb7a55ad4 in elm_run () at elm_main.c:1097 #9 0x08054859 in main () -Regards, Hermet- -Original Message- From: "Yakov Goldberg" To: ; Cc: Sent: 2015-04-06 (월) 23:32:36 Subject: Re: [E-devel] Erigo v1.0.0 is out! Hi Hermet, thanks for details. I fixed several issues. Could you please try Erigo again? Yakov. On 04/03/2015 02:44 PM, ChunEon Park wrote: > scenario > 1. new project with arbitarry name > 2. drag window, drag bg > 3. set bg to window content > 4. drag button > 5. move/resize button > > ERR<2474>:eo lib/eo/eo.c:949 _eo_add_internal_end() Object of class 'Elm_Win' > - Not all of the object constructors have been executed. > ERR<2474>:eo lib/eo/eo_ptr_indirection.x:294 _eo_obj_pointer_get() obj_id > 0x803ae114 is not pointing to a valid object. Maybe it has already been freed. > ERR<2474>:eo lib/eo/eo.c:485 _eo_do_internal() Obj (0x803ae114) is an invalid > ref. > ERR<2474>:eo lib/eo/eo_ptr_indirection.x:294 _eo_obj_pointer_get() obj_id > 0x802ef859 is not pointing to a valid object. Maybe it has already been freed. > ERR<2474>:eo lib/eo/eo.c:485 _eo_do_internal() Obj (0x802ef859) is an invalid > ref. > ERR<2474>:eo lib/eo/eo_ptr_indirection.x:294 _eo_obj_pointer_get() obj_id > 0x803377a3 is not pointing to a valid object. Maybe it has already been freed. > ERR<2474>:eo lib/eo/eo.c:485 _eo_do_internal() Obj (0x803377a3) is an invalid > ref. > ERR<2474>:eo lib/eo/eo_ptr_indirection.x:294 _eo_obj_pointer_get() obj_id > 0x8032239c is not pointing to a valid object. Maybe it has already been freed. > ERR<2474>:eo lib/eo/eo.c:485 _eo_do_internal() Obj (0x8032239c) is an invalid > ref. > ERR<2474>:eo lib/eo/eo_ptr_indirection.x:294 _eo_obj_pointer_get() obj_id > 0x802b50bd is not pointing to a valid object. Maybe it has already been freed. > ERR<2474>:eo lib/eo/eo.c:1477 eo_isa() Obj (0x802b50bd) is an invalid ref. > ERR<2474>:eo lib/eo/eo_ptr_indirection.x:294 _eo_obj_pointer_get() obj_id > 0x802b50bd is not pointing to a valid object. Maybe it has already been freed. > ERR<2474>:eo lib/eo/eo.c:485 _eo_do_internal() Obj (0x802b50bd) is an invalid > ref. > ERR<2474>:elementary elm_cnp.c:4071 elm_drop_target_del() Please contact > developers, you should probably not get here. > ERR<2474>:eo lib/eo/eo_ptr_indirection.x:294 _eo_obj_pointer_get() obj_id > 0x802b50bd is not pointing to a valid object. Maybe it has already been freed. > ERR<2474>:eo lib/eo/eo.c:485 _eo_do_internal() Obj (0x802b50bd) is an invalid > ref. > ERR<2474>:eo lib/eo/eo_ptr_indirection.x:294 _eo_obj_pointer_get() obj_id > 0x802240db is not pointing to a valid object. Maybe it has already been freed. > ERR<2474>:eo lib/eo/eo.c:1477 eo_isa() Obj (0x802240db) is an invalid ref. > ERR<2474>:eo lib/eo/eo_ptr_indirection.x:294 _eo_obj_pointer_get() obj_id > 0x802240db is not pointing to a valid object. Maybe it has already been freed. > ERR<2474>:eo lib/eo/eo.c:485 _eo_do_internal() Obj (0x802240db) is an invalid > ref. > ERR<2474>:elementary elm_cnp.c:4071 elm_drop_target_del() Please contact > developers, you should probably not get here. > ERR<2474>:eo lib/eo/eo_ptr_indirection.x:294 _eo_obj_pointer_get() obj_id > 0x802240db is not pointing to a valid object. Maybe it has already been freed. > ERR<2474>:eo lib/eo/eo.c:485 _eo_do_internal() Obj (0x802240db) is an invalid > ref. > ERR<2474>:eo lib/eo/eo_ptr_indirection.x:294 _eo_obj_pointer_get() obj_id > 0x80363466 is not pointing to a valid object. Maybe it has already been freed. > ERR<2474>:eo lib/eo/eo.c:1477 eo_isa() Obj (0x80363466) is an invalid ref. > ERR<2474>:eo lib/eo/eo_ptr_indirection.x:294 _eo_obj_pointer_get() obj_id > 0x80363466 is not pointing to a valid object. Maybe it has already been freed. > ERR<2474>:eo lib/eo/eo.c:485 _eo_do_internal() Obj (0x80363466) is an
[EGIT] [core/efl] master 01/01: evas/common: improve evas_common_convert_argb_unpremul() computation.
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=7a6eb2ea428b6dd7b02ae9cfbe4275f9a6fe612a commit 7a6eb2ea428b6dd7b02ae9cfbe4275f9a6fe612a Author: ChunEon Park Date: Mon Apr 6 21:58:07 2015 +0900 evas/common: improve evas_common_convert_argb_unpremul() computation. prev logic increased the alpha channel by 1 so the unpremul resulted in the color got too diff from the origin. We can't avoid losing the rest values while dividing values in premul/unpremul() but this will recover the value better closed to origin value. --- src/lib/evas/common/evas_convert_color.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib/evas/common/evas_convert_color.c b/src/lib/evas/common/evas_convert_color.c index e8a6b72..0f7975b 100644 --- a/src/lib/evas/common/evas_convert_color.c +++ b/src/lib/evas/common/evas_convert_color.c @@ -52,18 +52,18 @@ evas_common_convert_argb_unpremul(DATA32 *data, unsigned int len) while (data < de) { - DATA32 a = (*data >> 24) + 1; +DATA32 a = (*data >> 24); if (p_val == *data) *data = p_res; else { p_val = *data; - if ((a > 1) && (a < 256)) + if ((a > 0) && (a < 255)) *data = ARGB_JOIN(a, (R_VAL(data) * 255) / a, (G_VAL(data) * 255) / a, (B_VAL(data) * 255) / a); - else if (a == 1) + else if (a == 0) *data = 0x; p_res = *data; } --
[EGIT] [core/elementary] master 01/01: multibuttonentry: use layout apis instead of edje,
hermet pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=1a0bd47624e5b78f0f6112d41c0180f553ca72ab commit 1a0bd47624e5b78f0f6112d41c0180f553ca72ab Author: ChunEon Park Date: Mon Apr 6 10:34:39 2015 +0900 multibuttonentry: use layout apis instead of edje, the internal view type has been changed to layout. --- src/lib/elc_multibuttonentry.c | 9 - 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/lib/elc_multibuttonentry.c b/src/lib/elc_multibuttonentry.c index 51684d0..2ad0e83 100644 --- a/src/lib/elc_multibuttonentry.c +++ b/src/lib/elc_multibuttonentry.c @@ -83,8 +83,7 @@ _elm_multibuttonentry_elm_widget_theme_apply(Eo *obj, Elm_Multibuttonentry_Data if (VIEW(item)) elm_layout_theme_set (VIEW(item), "multibuttonentry", "btn", elm_widget_style_get(obj)); -edje_object_scale_set - (elm_layout_edje_get(VIEW(item)), elm_widget_scale_get(obj) * elm_config_scale_get()); +elm_object_scale_set(VIEW(item), elm_widget_scale_get(obj) * elm_config_scale_get()); } elm_layout_sizing_eval(obj); @@ -387,12 +386,12 @@ _current_item_state_change(Evas_Object *obj, switch (state) { case MULTIBUTTONENTRY_BUTTON_STATE_SELECTED: -edje_object_signal_emit(elm_layout_edje_get(VIEW(item)), "elm,state,focused", "elm"); +elm_layout_signal_emit(VIEW(item), "elm,state,focused", "elm"); evas_object_smart_callback_call(obj, SIG_ITEM_SELECTED, EO_OBJ(item)); break; case MULTIBUTTONENTRY_BUTTON_STATE_DEFAULT: default: -edje_object_signal_emit(elm_layout_edje_get(VIEW(item)), "elm,state,default", "elm"); +elm_layout_signal_emit(VIEW(item), "elm,state,default", "elm"); sd->selected_it = NULL; break; } @@ -565,7 +564,7 @@ _elm_multibuttonentry_item_elm_widget_item_signal_emit(Eo *eo_item EINA_UNUSED, const char *emission, const char *source) { - edje_object_signal_emit(elm_layout_edje_get(VIEW(item)), emission, source); + elm_layout_signal_emit(VIEW(item), emission, source); } EOLIAN static void --
Re: [E-devel] [EGIT] [core/elementary] master 01/08: colorselector: support "changed, user" smart callback
please update elm_colorselector.h doc also -Regards, Hermet- -Original Message- From: "Mike Blumenkrantz" To: ; Cc: Sent: 2015-04-06 (월) 05:27:08 Subject: [EGIT] [core/elementary] master 01/08: colorselector: support "changed, user" smart callback discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=5c647b826d19b5812a4b60148e42b5056acc98d8 commit 5c647b826d19b5812a4b60148e42b5056acc98d8 Author: Mike Blumenkrantz Date: Sun Apr 5 16:01:50 2015 -0400 colorselector: support "changed,user" smart callback this allows users to avoid getting callbacks from api calls --- src/lib/elm_colorselector.c 5 + src/lib/elm_colorselector.eo 1 + 2 files changed, 6 insertions(+) diff --git a/src/lib/elm_colorselector.c b/src/lib/elm_colorselector.c index e91f454..b8e3eda 100644 --- a/src/lib/elm_colorselector.c +++ b/src/lib/elm_colorselector.c @@ -23,6 +23,7 @@ #define DEFAULT_VER_PAD 10 static const char SIG_CHANGED[] = "changed"; +static const char SIG_CHANGED_USER[] = "changed,user"; static const char SIG_COLOR_ITEM_SELECTED[] = "color,item,selected"; static const char SIG_COLOR_ITEM_LONGPRESSED[] = "color,item,longpressed"; static const Evas_Smart_Cb_Description _smart_callbacks[] = @@ -34,6 +35,7 @@ static const Evas_Smart_Cb_Description _smart_callbacks[] = {SIG_WIDGET_ACCESS_CHANGED, ""}, /**< handled by elm_widget */ {SIG_LAYOUT_FOCUSED, ""}, /**< handled by elm_layout */ {SIG_LAYOUT_UNFOCUSED, ""}, /**< handled by elm_layout */ + {SIG_CHANGED_USER, ""}, {NULL, NULL} }; @@ -402,6 +404,7 @@ _update_hsla_from_colorbar(Evas_Object *obj, Color_Type type, double x) _update_colorbars(sd); _color_picker_init(sd); evas_object_smart_callback_call(obj, SIG_CHANGED, NULL); + evas_object_smart_callback_call(obj, SIG_CHANGED_USER, NULL); } static void @@ -485,6 +488,7 @@ _spinner_changed_cb(void *data, break; } evas_object_data_del(obj, "_changed"); + evas_object_smart_callback_call(obj, SIG_CHANGED_USER, NULL); } #ifdef HAVE_ELEMENTARY_X @@ -571,6 +575,7 @@ _mouse_up_cb(void *data, int type EINA_UNUSED, void *event EINA_UNUSED) b = pixels[17 * 9 + 9] & 0xFF; _colors_set(o, r, g, b, 0xFF); + evas_object_smart_callback_call(o, SIG_CHANGED_USER, NULL); return EINA_TRUE; } diff --git a/src/lib/elm_colorselector.eo b/src/lib/elm_colorselector.eo index f3acf5f..58c8d59 100644 --- a/src/lib/elm_colorselector.eo +++ b/src/lib/elm_colorselector.eo @@ -141,6 +141,7 @@ class Elm_Colorselector (Elm_Layout, Elm_Interface_Atspi_Widget_Action) color,item,selected; color,item,longpressed; changed; + changed,user; language,changed; access,changed; focused; -- -- BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT Develop your own process in accordance with the BPMN 2 standard Learn Process modeling best practices with Bonita BPM through live exercises http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/efl] master 01/01: evas: fix typo in doc.
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=513b7c5ed9b4819d777ab4177ce5fd73bdd2cec2 commit 513b7c5ed9b4819d777ab4177ce5fd73bdd2cec2 Author: ChunEon Park Date: Sat Apr 4 15:03:29 2015 +0900 evas: fix typo in doc. --- src/lib/evas/Evas_Common.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/evas/Evas_Common.h b/src/lib/evas/Evas_Common.h index 5055561..c07e8e3 100644 --- a/src/lib/evas/Evas_Common.h +++ b/src/lib/evas/Evas_Common.h @@ -2290,7 +2290,7 @@ EAPI voidevas_map_util_quat_rotate(Evas_Map *m, double qx, double qy * * This is used to apply lighting calculations (from a single light source) * to a given map. The R, G and B values of each vertex will be modified to - * reflect the lighting based on the lixth point coordinates, the light + * reflect the lighting based on the light point coordinates, the light * color and the ambient color, and at what angle the map is facing the * light source. A surface should have its points be declared in a * clockwise fashion if the face is "facing" towards you (as opposed to --
[EGIT] [core/elementary] master 01/01: test_3d: correct arguments order.
hermet pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=108ee568e0447aeca327e9e3335bb9d2c3f7bad1 commit 108ee568e0447aeca327e9e3335bb9d2c3f7bad1 Author: ChunEon Park Date: Fri Apr 3 23:50:37 2015 +0900 test_3d: correct arguments order. --- src/bin/test_3d.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bin/test_3d.c b/src/bin/test_3d.c index 292958d..6629272 100644 --- a/src/bin/test_3d.c +++ b/src/bin/test_3d.c @@ -91,7 +91,7 @@ static void _cube_pos(Cube *c, Evas_Coord x, Evas_Coord y, Evas_Coord z, double dx, double dy, double dz, - Evas_Coord cx, Evas_Coord cy, Evas_Coord foc, Evas_Coord z0) + Evas_Coord cx, Evas_Coord cy, Evas_Coord z0, Evas_Coord foc) { Evas_Map *m; int i, j, order[6], sorted; @@ -118,7 +118,7 @@ _cube_pos(Cube *c, evas_map_util_3d_lighting(m, -1000, -1000, -1000, 255, 255, 255, 20, 20, 20); -evas_map_util_3d_perspective(m, cx, cy, foc, z0); +evas_map_util_3d_perspective(m, cx, cy, z0, foc); if (evas_map_util_clockwise_get(m)) { evas_object_map_enable_set(c->side[i].o, EINA_TRUE); --
[EGIT] [core/elementary] master 01/01: evas_map_3d: fixed control names.
hermet pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=fb3bfbe2af49e60d0060546f68869aaf47e6f94f commit fb3bfbe2af49e60d0060546f68869aaf47e6f94f Author: ChunEon Park Date: Fri Apr 3 23:31:55 2015 +0900 evas_map_3d: fixed control names. these values are to perspective distances. their argumenets are px, py so it should also be named px, py --- src/bin/test_3d.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bin/test_3d.c b/src/bin/test_3d.c index a19e6e4..292958d 100644 --- a/src/bin/test_3d.c +++ b/src/bin/test_3d.c @@ -276,7 +276,7 @@ test_3d(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info E evas_object_show(sl); sl = elm_slider_add(win); - elm_object_text_set(sl, "CX Off"); + elm_object_text_set(sl, "PX Off"); elm_slider_unit_format_set(sl, "%1.0f units"); elm_slider_indicator_format_set(sl, "%1.0f units"); elm_slider_span_size_set(sl, 360); @@ -289,7 +289,7 @@ test_3d(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info E evas_object_show(sl); sl = elm_slider_add(win); - elm_object_text_set(sl, "CY Off"); + elm_object_text_set(sl, "PY Off"); elm_slider_unit_format_set(sl, "%1.0f units"); elm_slider_indicator_format_set(sl, "%1.0f units"); elm_slider_span_size_set(sl, 360); --
Re: [E-devel] EFL tutorials & getting started docs
whenever i try to launch the edi, it get a crash. (with latest efl and edi in master branch) new projects -> create Program received signal SIGSEGV, Segmentation fault. ecore_event_handler_del (event_handler=0x65742f6e) at lib/ecore/ecore_events.c:134 134if (!ECORE_MAGIC_CHECK(event_handler, ECORE_MAGIC_EVENT_HANDLER)) (gdb) where #0 ecore_event_handler_del (event_handler=0x65742f6e) at lib/ecore/ecore_events.c:134 #1 0xb78ed565 in _edi_create_project_done (data=0x8354568, type=12, event=0x82f84e8) at edi_create.c:124 #2 0xb796c9dc in _ecore_call_handler_cb (event=, type=, data=, func=0xb78ed540 <_edi_create_project_done>) at lib/ecore/ecore_private.h:359 #3 _ecore_event_call () at lib/ecore/ecore_events.c:562 #4 0xb7974e25 in _ecore_main_loop_iterate_internal (once_only=0) at lib/ecore/ecore_main.c:1947 #5 0xb797503f in ecore_main_loop_begin () at lib/ecore/ecore_main.c:982 #6 0xb7e174a4 in elm_run () at elm_main.c:1095 #7 0x080565ca in elm_main (argc=1, argv=0xb194) at edi_main.c:918 #8 0x08056714 in main (argc=1, argv=0xb194) at edi_main.c:931 after creating new project -> new file -> input file name -> create Program received signal SIGSEGV, Segmentation fault. 0xb77b7428 in malloc_consolidate (av=0xb78e8440) at malloc.c:4294 4294malloc.c: No such file or directory. (gdb) where #0 0xb77b7428 in malloc_consolidate (av=0xb78e8440) at malloc.c:4294 #1 malloc_consolidate (av=0xb78e8440) at malloc.c:4232 #2 0xb77b857f in _int_malloc (av=0xb78e8440, bytes=8360) at malloc.c:3572 #3 0xb77bc2aa in __libc_calloc (n=1045, elem_size=8) at malloc.c:3313 #4 0xb7a5ebed in _evas_textgrid_size_set (eo_obj=0x8015d18d, o=0x8501178, w=55, h=19) at lib/evas/canvas/evas_object_textgrid.c:1100 #5 0xb7a5a166 in evas_obj_textgrid_size_set (w=55, h=19) at ../src/lib/evas/canvas/evas_textgrid.eo.c:12 #6 0xb7a61f7b in evas_object_textgrid_size_set (obj=0x8015d18d, w=55, h=19) at ../src/lib/evas/canvas/evas_textgrid.eo.c:113 #7 0xb78fab1d in _elm_code_widget_resize (widget=0x80145d40) at elm_code_widget.c:125 #8 _elm_code_widget_fill (widget=0x80145d40) at elm_code_widget.c:398 #9 0xb79c782d in _eo_evas_object_cb (data=0x84455a8, eo_obj=0x80145d40, desc=0xb7b9ff84, event_info=0x0) at lib/evas/canvas/evas_callbacks.c:88 #10 0xb79507c6 in _eo_base_event_callback_call (obj_id=0x80145d40, pd=0x835fe70, desc=0xb7b9ff84, event_info=0x0) at lib/eo/eo_base_class.c:714 #11 0xb794cc08 in eo_event_callback_call (desc=0xb7b9ff84, event_info=0x0) at lib/eo/eo_base.eo.c:102 #12 0xb79c7da5 in evas_object_event_callback_call (eo_obj=0x80145d40, obj=0x835fe90, type=EVAS_CALLBACK_RESIZE, event_info=0x0, event_id=49026) at lib/evas/canvas/evas_callbacks.c:260 #13 0xb7a11bee in evas_object_inform_call_resize (eo_obj=0x80145d40) at lib/evas/canvas/evas_object_inform.c:41 #14 0xb7a0c379 in _evas_object_size_set (h=273, w=, obj=0x835fe90, eo_obj=0x80145d40) at lib/evas/canvas/evas_object_main.c:916 #15 _evas_object_size_set (eo_obj=0x80145d40, obj=0x835fe90, w=439, h=273) at lib/evas/canvas/evas_object_main.c:842 #16 0xb7a021f6 in evas_obj_size_set (w=439, h=273) at ../src/lib/evas/canvas/evas_object.eo.c:198 #17 0xb7a1027b in evas_object_resize (obj=0x80145d40, w=439, h=273) at ../src/lib/evas/canvas/evas_object.eo.c:734 #18 0xb7eddc04 in _els_box_layout (o=0x80144d3b, priv=0x8174640, horizontal=1 '\001', homogeneous=0 '\000', rtl=0 '\000') at els_box.c:224 #19 0xb7d379db in _elm_box_custom_layout (o=0x80144d3b, priv=0x8174640, data=0x8014493a) at elm_box.c:183 #20 0xb7a28554 in _evas_box_evas_object_smart_calculate (o=0x80144d3b, priv=0x8174640) at lib/evas/canvas/evas_object_box.c:445 #21 0xb7a1c8de in evas_obj_smart_calculate () at ../src/lib/evas/canvas/evas_object_smart.eo.c:60 #22 0xb7a1e382 in evas_call_smarts_calculate (eo_e=0x80073cda) at lib/evas/canvas/evas_object_smart.c:954 #23 0xb7a70a72 in evas_render_updates_internal (eo_e=0x80073cda, make_updates=1 '\001', do_draw=1 '\001', done_func=0xb7a67cd0 , done_data=0x828bc88, do_async=1 '\001') at lib/evas/canvas/evas_render.c:2116 #24 0xb7a731b7 in _evas_canvas_render_async (eo_e=0x80073cda, e=0x828bc88) at lib/evas/canvas/evas_render.c:2762 #25 0xb79de547 in evas_canvas_render_async () at ../src/lib/evas/canvas/evas_canvas.eo.c:200 #26 0xb79e50d3 in evas_render_async (obj=0x80073cda) at ../src/lib/evas/canvas/evas_canvas.eo.c:897 #27 0xb58c296d in _ecore_evas_x_render (ee=0x82ef850) at modules/ecore_evas/engines/x/ecore_evas_x.c:767 #28 0xb76ce813 in _ecore_evas_idle_enter (data=0x0) at lib/ecore_evas/ecore_evas.c:167 #29 0xb7971662 in _ecore_call_task_cb (data=, func=) at lib/ecore/ecore_private.h:305 #30 _ecore_idle_enterer_call () at lib/ecore/ecore_idle_enterer.c:177 #31 0xb7974ed5 in _ecore_main_loop_iterate_internal (once_only=0) at lib/ecore/ecore_main.c:1844 #32 0xb797503f in ecore_main_loop_begin () at lib/ecore/ecore_main.c:982 #33 0xb7e174a4 in elm_run () at elm_main.c:1095 #34 0x080565ca in elm_main
Re: [E-devel] Erigo v1.0.0 is out!
_x11_dnd_position>) at lib/ecore/ecore_private.h:359 #5 _ecore_event_call () at lib/ecore/ecore_events.c:562 #6 0xb7f31e25 in _ecore_main_loop_iterate_internal (once_only=0) at lib/ecore/ecore_main.c:1947 #7 0xb7f3203f in ecore_main_loop_begin () at lib/ecore/ecore_main.c:982 #8 0xb7a6b4a4 in elm_run () at elm_main.c:1095 #9 0x08054829 in main () -Regards, Hermet- -Original Message- From: "Thanatermesis" To: "Enlightenment developer list"; Cc: Sent: 2015-04-03 (금) 01:57:14 Subject: Re: [E-devel] Erigo v1.0.0 is out! erigo/src/lib/ffi_abstraction.c:155:9: error: too few arguments to function ‘_eo_do_end’ seems like it doesn't compile with EFL 1.13.1 ? 2015-04-02 9:41 GMT+02:00 Yakov Goldberg : > Hi Hermet, > thanks for using :) >waiting for more details. > Ping me on the IRC > > Yakov > > On 04/02/2015 06:00 AM, ChunEon Park wrote: > > great! > > i tried this erigo with the latest efl > > but still it often get a crash randomly while trying something to do. > > > > is it still unstable? > > > > or my problem? > > > > > > -Regards, Hermet- > > > > -Original Message- > > From: "Yakov Goldberg" > > To: "Enlightenment developer list"< > enlightenment-devel@lists.sourceforge.net>; > > Cc: > > Sent: 2015-04-01 (수) 00:02:22 > > Subject: [E-devel] Erigo v1.0.0 is out! > > > > Hello, > > > > We are happy to announce Erigo v1.0.0 release! > > > > We improved stability and added more widgets. > > Now widget's inheritance tree (classes and properties) is taken from > Eolian and can be managed with black list. > > Configuration/installation options and paths were fixed, so developers > who are interested to package Erigo, please pay attention. > > > > Here is summary about current release: > > > > Erigo 1.0.0 > > === > > > > Changes since 0.9.1 > > --- > > Features: > > * Now all classes and functions are fetched from Eolian. > >Functions can be filtered out with black list. > > * Add infrastructure to support warning message's popup windows. > >Add popup message for "Save" dialog. > > * Add memo bubble for properties which require to press "Enter" to > apply > >changes. > > * Add support for widgets: Fileselector, Fileselector Entry, > >Fileselector Button, Slider, Progressbar, Panes, Conformant. > > * Split Factory to sections. > > > > Internals: > > * Wider usage of Eolian API to generate function names. > > * Check if Property implements GET method and it is possible > >to fetch default values. > > > > Fixes: > > * Configuration and installation options: > > For configuration and installation use: > > $ cmake .. > > > > In order to install into custom path: > > $ cmake -DCMAKE_INSTALL_PREFIX=/install_path .. > > > > For configuration of Debug version and to run Erigo from build > path: > > $ cmake -DCMAKE_INSTALL_PREFIX=/install_path > -DCMAKE_BUILD_TYPE=debug .. > > > > * Fix showing properties and classes in Property View. > > * Fix leaks and internal's memory management > > > > We always happy to get feedback and ideas. > > > > Download:https://git.enlightenment.org/tools/erigo.git > > Wiki:https://phab.enlightenment.org/w/projects/gui_builder/ > > Videos: > > https://www.youtube.com/playlist?list=PLal8LrkIgqzHrmHm0IBDT6s_Y7uVctR6r > > > > Regards, > > Erigo team. > > > > > > > -- > > Dive into the World of Parallel Programming The Go Parallel Website, > sponsored > > by Intel and developed in partnership with Slashdot Media, is your hub > for all > > things parallel software development, from weekly thought leadership > blogs to > > news, videos, case studies, tutorials and more. Take a look and join the > > conversation now. http://goparallel.sourceforge.net/ > > ___ > > enlightenment-devel mailing list > > enlightenment-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > -- > > Dive into the World of Parallel Programming The Go Parallel Website, &g
[EGIT] [core/efl] master 01/01: evas/common Fixed incorrect blend pixel color logic in neon.
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=2b0fb1ea1d09ca27e73c770f30d9ff8c8e964f0c commit 2b0fb1ea1d09ca27e73c770f30d9ff8c8e964f0c Author: ChunEon Park Date: Fri Apr 3 19:38:33 2015 +0900 evas/common Fixed incorrect blend pixel color logic in neon. previously, it had the remaining value issues on blending computation. The blending color result was in correct. Signed-Off-By: Vladimir Kuramshin --- .../evas_op_blend/op_blend_pixel_color_neon.c | 274 ++--- 1 file changed, 81 insertions(+), 193 deletions(-) diff --git a/src/lib/evas/common/evas_op_blend/op_blend_pixel_color_neon.c b/src/lib/evas/common/evas_op_blend/op_blend_pixel_color_neon.c index c8fa546..d6b3a73 100644 --- a/src/lib/evas/common/evas_op_blend/op_blend_pixel_color_neon.c +++ b/src/lib/evas/common/evas_op_blend/op_blend_pixel_color_neon.c @@ -8,202 +8,90 @@ static void _op_blend_p_c_dp_neon(DATA32 * __restrict s, DATA8 *m EINA_UNUSED, DATA32 c, DATA32 * __restrict d, int l) { -/* Current this neon code is a little buggy, color blending won't be done - correctly. So leave the code depend on the compilier optimization. */ -#if 1 - int i; - int alpha; - - for (i = 0; i < l; i++) - { -DATA32 sc = MUL4_SYM(c, s[i]); -alpha = 256 - (sc >> 24); -d[i] = sc + MUL_256(alpha, d[i]); - } -#else #define AP "blend_p_c_dp_" asm volatile ( - ".fpu neon \n\t" - // Load 'c' - "vdup.u32 q7, %[c]\n\t" - "vmov.i8q6, #1 \n\t" - - // Choose a loop - "andS %[tmp], %[d], $0xf \n\t" - "beq"AP"quadstart \n\t" - - "andS %[tmp],%[d], $0x4 \n\t" - "beq"AP"dualloop\n\t" - - AP"singleloop:" - "vld1.32d0[0], [%[s]]! \n\t" - "vld1.32d2[0], [%[d]] \n\t" - // Mulitply s * c (= sc) - "vmull.u8 q4, d0,d14 \n\t" - // sc in d8 - "vqrshrn.u16d4, q4, #8 \n\t" - - // sca in d9 - "vmvn.u32 d6, d4 \n\t" - "vshr.u32 d6, d6, #24 \n\t" - - "vmul.u32 d6, d12, d6 \n\t" - - /* d * alpha */ - "vmull.u8 q4, d6, d2 \n\t" - "vqrshrn.u16d0, q4, #8 \n\t" - - "vqadd.u8 d2, d0, d4 \n\t" - - // Save dsc + sc - "vst1.32d2[0], [%[d]]! \n\t" - - // Now where? - // Can we go the fast path? - "andS %[tmp], %[d],$0xf \n\t" - "beq"AP"quadstart \n\t" - - AP"dualloop:\n\t" - // Check we have enough to bother with! - "sub%[tmp], %[e], %[d] \n\t" - "cmp%[tmp], #16 \n\t" - "blt"AP"loopout \n\t" - - // load 's' -> q0, 'd' -> q1 - "vldm %[s]!, {d0}\n\t" - "vldm %[d], {d2}\n\t" - // Mulitply s * c (= sc) - "vmull.u8 q4, d0,d14 \n\t" - // sc in d8 - "vqrshrn.u16d4, q4, #8 \n\t" - - // sca in d9 - "vmvn.u32 d6, d4 \n\t" - "vshr.u32 d6, d6, #24 \n\t" - - "vmul.u32 d6, d12, d6 \n\t" - - /* d * alpha */ - "vmull.u8 q4, d6, d2 \n\t" - "vqrshrn.u16d0, q4, #8 \n\t" - - "vqadd.u8 d2, d0, d4 \n\t" - - // Save dsc + sc - "vst1.32d2, [%[d]]! \n\t" - - AP"quadstart: \n\t" - "sub%[tmp], %[e], %[d] \n\t" - "cmp%[tmp], #16 \n\t" - "blt"AP"lo
Re: [E-devel] Erigo v1.0.0 is out!
great! i tried this erigo with the latest efl but still it often get a crash randomly while trying something to do. is it still unstable? or my problem? -Regards, Hermet- -Original Message- From: "Yakov Goldberg" To: "Enlightenment developer list"; Cc: Sent: 2015-04-01 (수) 00:02:22 Subject: [E-devel] Erigo v1.0.0 is out! Hello, We are happy to announce Erigo v1.0.0 release! We improved stability and added more widgets. Now widget's inheritance tree (classes and properties) is taken from Eolian and can be managed with black list. Configuration/installation options and paths were fixed, so developers who are interested to package Erigo, please pay attention. Here is summary about current release: Erigo 1.0.0 === Changes since 0.9.1 --- Features: * Now all classes and functions are fetched from Eolian. Functions can be filtered out with black list. * Add infrastructure to support warning message's popup windows. Add popup message for "Save" dialog. * Add memo bubble for properties which require to press "Enter" to apply changes. * Add support for widgets: Fileselector, Fileselector Entry, Fileselector Button, Slider, Progressbar, Panes, Conformant. * Split Factory to sections. Internals: * Wider usage of Eolian API to generate function names. * Check if Property implements GET method and it is possible to fetch default values. Fixes: * Configuration and installation options: For configuration and installation use: $ cmake .. In order to install into custom path: $ cmake -DCMAKE_INSTALL_PREFIX=/install_path .. For configuration of Debug version and to run Erigo from build path: $ cmake -DCMAKE_INSTALL_PREFIX=/install_path -DCMAKE_BUILD_TYPE=debug .. * Fix showing properties and classes in Property View. * Fix leaks and internal's memory management We always happy to get feedback and ideas. Download:https://git.enlightenment.org/tools/erigo.git Wiki:https://phab.enlightenment.org/w/projects/gui_builder/ Videos: https://www.youtube.com/playlist?list=PLal8LrkIgqzHrmHm0IBDT6s_Y7uVctR6r Regards, Erigo team. -- Dive into the World of Parallel Programming The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Dive into the World of Parallel Programming The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [tools/erigo] master 01/01: updated README
hermet pushed a commit to branch master. http://git.enlightenment.org/tools/erigo.git/commit/?id=d595c206de65d94aa6852e3975c24f6ef3bc11c0 commit d595c206de65d94aa6852e3975c24f6ef3bc11c0 Author: ChunEon Park Date: Wed Apr 1 11:43:41 2015 +0900 updated README --- README | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README b/README index 3629903..d9735c3 100644 --- a/README +++ b/README @@ -31,7 +31,7 @@ generate sources in different languages (currently C). - Graphviz (Version > 2.35.00) - show application's graph. [Building] - $ cd egui + $ cd erigo $ mkdir build $ cd build $ cmake .. --
[EGIT] [core/elementary] master 01/01: conform: decide indicator visibility in the swallow part.
hermet pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=f3435af9e21a7e07f218bdd8161979bb658f6ff7 commit f3435af9e21a7e07f218bdd8161979bb658f6ff7 Author: ChunEon Park Date: Sat Mar 28 20:06:19 2015 +0900 conform: decide indicator visibility in the swallow part. --- src/lib/elm_conform.c | 4 1 file changed, 4 deletions(-) diff --git a/src/lib/elm_conform.c b/src/lib/elm_conform.c index 81d7c6e..ce13f07 100644 --- a/src/lib/elm_conform.c +++ b/src/lib/elm_conform.c @@ -480,8 +480,6 @@ _indicator_mode_set(Evas_Object *conformant, Elm_Win_Indicator_Mode indmode) sd->landscape_indicator = _create_landscape_indicator(conformant); if (!sd->landscape_indicator) return; - - evas_object_show(sd->landscape_indicator); elm_layout_content_set(conformant, INDICATOR_PART, sd->landscape_indicator); } else @@ -490,8 +488,6 @@ _indicator_mode_set(Evas_Object *conformant, Elm_Win_Indicator_Mode indmode) sd->portrait_indicator = _create_portrait_indicator(conformant); if (!sd->portrait_indicator) return; - - evas_object_show(sd->portrait_indicator); elm_layout_content_set(conformant, INDICATOR_PART, sd->portrait_indicator); } --
[EGIT] [core/elementary] master 01/01: conform: decide indicator visibility in the swallow part.
hermet pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=d8af3423c318fc37ca75658735c7a8de8290b1ff commit d8af3423c318fc37ca75658735c7a8de8290b1ff Author: ChunEon Park Date: Sat Mar 28 19:18:24 2015 +0900 conform: decide indicator visibility in the swallow part. --- src/lib/elm_conform.c | 9 + 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/src/lib/elm_conform.c b/src/lib/elm_conform.c index 2493ff2..81d7c6e 100644 --- a/src/lib/elm_conform.c +++ b/src/lib/elm_conform.c @@ -499,14 +499,7 @@ _indicator_mode_set(Evas_Object *conformant, Elm_Win_Indicator_Mode indmode) elm_object_signal_emit(conformant, "elm,state,indicator,show", "elm"); } else - { -old_indi = elm_layout_content_get(conformant, INDICATOR_PART); -if (old_indi) - { - evas_object_hide(old_indi); - } -elm_object_signal_emit(conformant, "elm,state,indicator,hide", "elm"); - } + elm_object_signal_emit(conformant, "elm,state,indicator,hide", "elm"); } static void --
Re: [E-devel] [EGIT] [core/efl] master 01/01: ecore_idler: + null check.
Seems right but those type checking should be done in the outer function prior to the here internal. acutally other ecore apis -animator, job ..- doesnt check the type but just null check there. I'm just leaving it. -Regards, Hermet- -Original Message- From: "Cedric BAIL" To: "e-devel"; Cc: ; Sent: 2015-03-25 (수) 23:11:31 Subject: Re: [E-devel] [EGIT] [core/efl] master 01/01: ecore_idler: + null check. Eo is tricky here and not obvious. You need to use eo_isa in fact as data scope can return invalid pointer different from null... Le 24 mars 2015 22:45, "ChunEon Park" a écrit : > > hermet pushed a commit to branch master. > > http://git.enlightenment.org/core/efl.git/commit/?id=e56548aa33000561f1970abd48bfc03f05019415 > > commit e56548aa33000561f1970abd48bfc03f05019415 > Author: ChunEon Park > Date: Wed Mar 25 14:42:44 2015 +0900 > > ecore_idler: + null check. > > like timer, animator we do check the idler validation > and prevert crash there just in user misusage case. > > @fix > --- > src/lib/ecore/ecore_idler.c 1 + > 1 file changed, 1 insertion(+) > > diff --git a/src/lib/ecore/ecore_idler.c b/src/lib/ecore/ecore_idler.c > index 5faed54..a874717 100644 > --- a/src/lib/ecore/ecore_idler.c > +++ b/src/lib/ecore/ecore_idler.c > @@ -87,6 +87,7 @@ static void * > _ecore_idler_del(Ecore_Idler *obj) > { > Ecore_Idler_Data *idler = eo_data_scope_get(obj, MY_CLASS); > + EINA_SAFETY_ON_NULL_RETURN_VAL(idler, NULL); > EINA_SAFETY_ON_TRUE_RETURN_VAL(idler->delete_me, NULL); > idler->delete_me = 1; > idlers_delete_me = 1; > > -- > > > -- Dive into the World of Parallel Programming The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Dive into the World of Parallel Programming The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/efl] master 01/01: ecore/idler - simpler checking.
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=bc9265f16d5a69c47fce3f2162a080ca5ecaf424 commit bc9265f16d5a69c47fce3f2162a080ca5ecaf424 Author: ChunEon Park Date: Sat Mar 28 15:43:50 2015 +0900 ecore/idler - simpler checking. --- src/lib/ecore/ecore_idler.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/ecore/ecore_idler.c b/src/lib/ecore/ecore_idler.c index a874717..eef2d10b 100644 --- a/src/lib/ecore/ecore_idler.c +++ b/src/lib/ecore/ecore_idler.c @@ -87,7 +87,7 @@ static void * _ecore_idler_del(Ecore_Idler *obj) { Ecore_Idler_Data *idler = eo_data_scope_get(obj, MY_CLASS); - EINA_SAFETY_ON_NULL_RETURN_VAL(idler, NULL); + if (!idler) return NULL; EINA_SAFETY_ON_TRUE_RETURN_VAL(idler->delete_me, NULL); idler->delete_me = 1; idlers_delete_me = 1; --
Re: [E-devel] [EGIT] [core/efl] master 01/01: ecore_idler: + null check.
acutally, in this case just null checking is enough instead of eo do func. -Regards, Hermet- -Original Message- From: "Tom Hacohen" To: ; Cc: Sent: 2015-03-26 (목) 06:19:14 Subject: Re: [E-devel] [EGIT] [core/efl] master 01/01: ecore_idler: + null check. On 25/03/15 14:11, Cedric BAIL wrote: > Eo is tricky here and not obvious. You need to use eo_isa in fact as data > scope can return invalid pointer different from null... > It's significantly slower to check that. There's actually a define that that lets you enable that kind of checking. However, given the fact that most calls are from a safe area (inside an eo do func), it's just not worth the extra slowdown associated with it. Maybe we should create an eo_do_safe_get(), or alternatively, make this one the safe slow one, and have eo_data_unsafe_get(). Not sure which. Thoughts? -- Tom. > Le 24 mars 2015 22:45, "ChunEon Park" a écrit : >> >> hermet pushed a commit to branch master. >> >> > http://git.enlightenment.org/core/efl.git/commit/?id=e56548aa33000561f1970abd48bfc03f05019415 >> >> commit e56548aa33000561f1970abd48bfc03f05019415 >> Author: ChunEon Park >> Date: Wed Mar 25 14:42:44 2015 +0900 >> >> ecore_idler: + null check. >> >> like timer, animator we do check the idler validation >> and prevert crash there just in user misusage case. >> >> @fix >> --- >> src/lib/ecore/ecore_idler.c 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/src/lib/ecore/ecore_idler.c b/src/lib/ecore/ecore_idler.c >> index 5faed54..a874717 100644 >> --- a/src/lib/ecore/ecore_idler.c >> +++ b/src/lib/ecore/ecore_idler.c >> @@ -87,6 +87,7 @@ static void * >> _ecore_idler_del(Ecore_Idler *obj) >> { >> Ecore_Idler_Data *idler = eo_data_scope_get(obj, MY_CLASS); >> + EINA_SAFETY_ON_NULL_RETURN_VAL(idler, NULL); >> EINA_SAFETY_ON_TRUE_RETURN_VAL(idler->delete_me, NULL); >> idler->delete_me = 1; >> idlers_delete_me = 1; >> >> -- >> >> >> > -- > Dive into the World of Parallel Programming The Go Parallel Website, sponsored > by Intel and developed in partnership with Slashdot Media, is your hub for all > things parallel software development, from weekly thought leadership blogs to > news, videos, case studies, tutorials and more. Take a look and join the > conversation now. http://goparallel.sourceforge.net/ > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- Dive into the World of Parallel Programming The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Dive into the World of Parallel Programming The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] strange elm_win_window_id_get() please read devilhorn.
Hi, I found a problem at elm_win_window_id_get() API which returns the wayland surface id (actually proxy id). Problem is, our Ecore Wayland APIs requires Ecore_Wl_Window handle that is not matched with surface id. just in case Ecore X, we can use the X ID generally, but in case of the wayland, we cannot. Worse case is, even app can not call the wayland client apis directly with the surface id since wayland client interfaces requires the surface itself handle(wl_surface *) but not surface id (proxy id). I don't know your intention (or is it mistake?), at this moment. But I think it should return the window id with ecore_wl_window_id_get(), rather than elm_wl_window_surface_id_get() so that people get the wl_surface or Ecore_Wl_Wayland handle from the window id. What do you think? -Regards, Hermet- -- Dive into the World of Parallel Programming The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/efl] efl-1.13 01/01: ecore_idler: + null check.
hermet pushed a commit to branch efl-1.13. http://git.enlightenment.org/core/efl.git/commit/?id=a22e1a2b9f29e9101a54e3efbf287d1cae5f948a commit a22e1a2b9f29e9101a54e3efbf287d1cae5f948a Author: ChunEon Park Date: Wed Mar 25 14:42:44 2015 +0900 ecore_idler: + null check. like timer, animator we do check the idler validation and prevert crash there just in user misusage case. @fix --- src/lib/ecore/ecore_idler.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/ecore/ecore_idler.c b/src/lib/ecore/ecore_idler.c index 5faed54..a874717 100644 --- a/src/lib/ecore/ecore_idler.c +++ b/src/lib/ecore/ecore_idler.c @@ -87,6 +87,7 @@ static void * _ecore_idler_del(Ecore_Idler *obj) { Ecore_Idler_Data *idler = eo_data_scope_get(obj, MY_CLASS); + EINA_SAFETY_ON_NULL_RETURN_VAL(idler, NULL); EINA_SAFETY_ON_TRUE_RETURN_VAL(idler->delete_me, NULL); idler->delete_me = 1; idlers_delete_me = 1; --
[EGIT] [core/efl] master 01/01: ecore_idler: + null check.
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=e56548aa33000561f1970abd48bfc03f05019415 commit e56548aa33000561f1970abd48bfc03f05019415 Author: ChunEon Park Date: Wed Mar 25 14:42:44 2015 +0900 ecore_idler: + null check. like timer, animator we do check the idler validation and prevert crash there just in user misusage case. @fix --- src/lib/ecore/ecore_idler.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/ecore/ecore_idler.c b/src/lib/ecore/ecore_idler.c index 5faed54..a874717 100644 --- a/src/lib/ecore/ecore_idler.c +++ b/src/lib/ecore/ecore_idler.c @@ -87,6 +87,7 @@ static void * _ecore_idler_del(Ecore_Idler *obj) { Ecore_Idler_Data *idler = eo_data_scope_get(obj, MY_CLASS); + EINA_SAFETY_ON_NULL_RETURN_VAL(idler, NULL); EINA_SAFETY_ON_TRUE_RETURN_VAL(idler->delete_me, NULL); idler->delete_me = 1; idlers_delete_me = 1; --
[EGIT] [admin/devs] master 01/01: probie: welcome new probie, thiep
hermet pushed a commit to branch master. http://git.enlightenment.org/admin/devs.git/commit/?id=c25e712d61a21033957e89c4f6f32702631959c2 commit c25e712d61a21033957e89c4f6f32702631959c2 Author: ChunEon Park Date: Tue Mar 24 14:36:12 2015 +0900 probie: welcome new probie, thiep --- probies/thiep/id_rsa.pub | 1 + probies/thiep/info.txt | 8 2 files changed, 9 insertions(+) diff --git a/probies/thiep/id_rsa.pub b/probies/thiep/id_rsa.pub new file mode 100755 index 000..b1aa051 --- /dev/null +++ b/probies/thiep/id_rsa.pub @@ -0,0 +1 @@ +ssh-rsa B3NzaC1yc2EDAQABAAABAQDOK3B3Lfx5ERk6C3qEZliLb2RVNDsCEqUIRRXnp7eA9wcHxQ+cCw0B17ULzyHeN+aH2LPc9U/GmxjD8+iZ+U9rRC/0M6DN89TSa7b9DoMsZsXqtEdXSBn8M+VdUawp4kH7VRd+KtDB4OEWOm957Lf1+DB6FNL2dp3WzzUGWpdzM7W53aUJbtVpgbp2D8tANlYq1bnFJ63QMddAe260paeGhorrC3vGnbnXqc2OjZYm2zUzgnEN6xJ3o4l34Ix6GjOfrpd9fOZVskShgDMkasK+Icyw60wY5j0mLa2ZxmC4cKieSi8Sq3T4AjXzvWKQCZZNGm/WwNqlZIhgzeKIPoQ1 thiep...@samsung.com diff --git a/probies/thiep/info.txt b/probies/thiep/info.txt new file mode 100755 index 000..07c9869 --- /dev/null +++ b/probies/thiep/info.txt @@ -0,0 +1,8 @@ +Login:thiep +IRC Nick: thiep +Name: Thiep Ha +Location: Suwon, Korea +E-Mail: thie...@gmail.com; thiep...@samsung.com +Contributing: efl, elementary +Group:Libraries +Platform: Ubuntu --
[EGIT] [admin/devs] master 01/01: developer/jypark: update public key.
hermet pushed a commit to branch master. http://git.enlightenment.org/admin/devs.git/commit/?id=bf457d773726ec35b6bfcc46d37f09453607b883 commit bf457d773726ec35b6bfcc46d37f09453607b883 Author: ChunEon Park Date: Mon Mar 23 22:44:35 2015 +0900 developer/jypark: update public key. requested by owner --- developers/jypark/id_rsa.pub | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/developers/jypark/id_rsa.pub b/developers/jypark/id_rsa.pub index 6fce8b6..816a5ec 100755 --- a/developers/jypark/id_rsa.pub +++ b/developers/jypark/id_rsa.pub @@ -1 +1 @@ -ssh-rsa B3NzaC1yc2EDAQABAAACAQDPOLX2PgN9n2/zETtcXl/Qke75AmAK03NJGFu0NyEYIgZkmPQrP/epe4mXxLhhf53TTksz7gWD1iyR+YGIOpaPSSJ3Fwg9EYF7LLW9WIlsr5DV2GdVV8w6th/SScDAgjhBN02v0r81vPTEy61xWiIPJ25pEINGo/40e77wu5DWk5G25NAYYtci5OfOHyRk1Y00wzLopoIHtXRo2UTB1rRL3lDB4wuPZIaa9XP1wzet+FiIde88ltn3+DCP+FChlnO7deOl+0qJskLwitH4W7jysgXJn5O2K0AXBEg6D459ZfB6Lo/7ObW94eEUvKF3PPyyrER2GDwvJqduXeuf8xQliY9OI3Ylch9R0/mPg+dQaotPArmqJLvXuvJ6BBQsMBd7W8Ax3UoBRbY4QA2/jg6CHwNvndAfY6+S/f3SjnC6iHrD2Lrg6ivLKw9ZFxq6kR73Tgp5 [...] +ssh-rsa B3NzaC1yc2EDAQABAAACAQDBF6g8OEG5lXgIQEetaPgajWVayVHCPJqAc4kN9N3219DTtPMgDr4UOYRJPFFweIIahRReMTu3caUlVnkc5OijrGjEqEODesAzKQ3OQOX6sr9rQ2NpIz3dRnH102SSKGqoGh8NeEGG713w6WRk1Gw0mGVbh2YZkpAskaZXi0815z0L307oGyKEHEcL4nsvQQ5PM52CiXRdzcgcEuDb+ntlwezh1zrQojr4Y4hlTfu0tNSaMAIM7NELCLDKay56paMIA4Y2OrPJrCXLVORwSg6+hrqCpv+1FcNBJbK6xY4YVcj4I6u1lW4X522qsjFMZLfKI3FajioOSqiydYQgEiq2MTK1EfkKnczLjvb2B8gL8uvrJpX38bUyhNbZzC0iwa9ApATtGZnkqNihXHVdwDt+2obmKMs2SFF4d2wamso5AizzCUH3ENfrQvhP88z4oe/d6SU0 [...] --
[EGIT] [core/efl] master 01/01: evas: prevent crash.
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=105b0d75eee39db1410c3a8165e46d5344439ba1 commit 105b0d75eee39db1410c3a8165e46d5344439ba1 Author: ChunEon Park Date: Mon Mar 23 22:00:27 2015 +0900 evas: prevent crash. if user delete the interceptor in the interceptor callback, the interceptors would be NULL. So we need to check whether it's valid or not. @fix --- src/lib/evas/canvas/evas_object_intercept.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/evas/canvas/evas_object_intercept.c b/src/lib/evas/canvas/evas_object_intercept.c index a1c331d..7da2935 100644 --- a/src/lib/evas/canvas/evas_object_intercept.c +++ b/src/lib/evas/canvas/evas_object_intercept.c @@ -58,7 +58,7 @@ evas_object_intercept_cleanup(Evas_Object *eo_obj) ret = !!(obj->interceptors->Type.func); \ if (ret) \ obj->interceptors->Type.func(obj->interceptors->Type.data, eo_obj); \ - obj->interceptors->Type.intercepted = EINA_FALSE; \ + if (obj->interceptors) obj->interceptors->Type.intercepted = EINA_FALSE; \ return ret;\ } --
[EGIT] [core/efl] efl-1.13 01/01: evas: prevent crash.
hermet pushed a commit to branch efl-1.13. http://git.enlightenment.org/core/efl.git/commit/?id=bb30fb6aea2a23017b46375a538b4016472b8da7 commit bb30fb6aea2a23017b46375a538b4016472b8da7 Author: ChunEon Park Date: Mon Mar 23 22:00:27 2015 +0900 evas: prevent crash. if user delete the interceptor in the interceptor callback, the interceptors would be NULL. So we need to check whether it's valid or not. @fix --- src/lib/evas/canvas/evas_object_intercept.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/evas/canvas/evas_object_intercept.c b/src/lib/evas/canvas/evas_object_intercept.c index a1c331d..7da2935 100644 --- a/src/lib/evas/canvas/evas_object_intercept.c +++ b/src/lib/evas/canvas/evas_object_intercept.c @@ -58,7 +58,7 @@ evas_object_intercept_cleanup(Evas_Object *eo_obj) ret = !!(obj->interceptors->Type.func); \ if (ret) \ obj->interceptors->Type.func(obj->interceptors->Type.data, eo_obj); \ - obj->interceptors->Type.intercepted = EINA_FALSE; \ + if (obj->interceptors) obj->interceptors->Type.intercepted = EINA_FALSE; \ return ret;\ } --
[EGIT] [core/efl] master 01/01: eo: fix wrong check libaddr dependency.
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=c93b50b239cf74eb23578ab6604ee8cd97214a86 commit c93b50b239cf74eb23578ab6604ee8cd97214a86 Author: ChunEon Park Date: Sat Mar 21 13:35:14 2015 +0900 eo: fix wrong check libaddr dependency. move checking libaddr to eo step to valid it. --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index fb4ea3e..3f7b3fa 100644 --- a/configure.ac +++ b/configure.ac @@ -1016,6 +1016,7 @@ AM_CONDITIONAL([EO_BUILD_EXAMPLE_EVAS], [test "x${have_elm}" = "xyes"]) ### Checks for linker characteristics ### Checks for library functions +EFL_CHECK_FUNCS([EO], [dladdr]) ### Check availability @@ -1127,7 +1128,6 @@ EFL_EVAL_PKGS([EET]) ### Checks for linker characteristics ### Checks for library functions -EFL_CHECK_FUNCS([EO], [dladdr]) ### Check availability --
[EGIT] [core/efl] master 01/01: Revert "evas-3d: materials in .mtl format are deleted"
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=a051333806d3b3f0f53190ce4949208ebafd9fa0 commit a051333806d3b3f0f53190ce4949208ebafd9fa0 Author: ChunEon Park Date: Fri Mar 20 18:34:20 2015 +0900 Revert "evas-3d: materials in .mtl format are deleted" This reverts commit 59271716ba5443bcba215f5dfbc190fc107ae4ab. This patch submitted twice. --- src/examples/evas/Makefile.am | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/examples/evas/Makefile.am b/src/examples/evas/Makefile.am index 5ce20ff..5e27afa 100644 --- a/src/examples/evas/Makefile.am +++ b/src/examples/evas/Makefile.am @@ -340,8 +340,6 @@ resources/images/four_NM_height.tga \ resources/images/rocks_NM_height.tga \ resources/images/grid.png \ resources/images/grid_n.png \ -resources/models/eagle.md2 \ -resources/models/M15.obj \ resources/models/mesh_for_mmap.eet \ resources/models/mesh_for_mmap.md2 \ resources/models/mesh_for_mmap.obj \ --
Re: [E-devel] [EGIT] [core/efl] master 01/01: evas-3d: materials in .mtl format are deleted
k! -Regards, Hermet- -Original Message- From: "Cedric BAIL" To: "e-devel"; Cc: Sent: 2015-03-20 (금) 15:34:30 Subject: Re: [E-devel] [EGIT] [core/efl] master 01/01: evas-3d: materials in .mtl format are deleted Le 20 mars 2015 06:57, "Bogdan Devichev" a écrit : > > hermet pushed a commit to branch master. > > http://git.enlightenment.org/core/efl.git/commit/?id=59271716ba5443bcba215f5dfbc190fc107ae4ab > > commit 59271716ba5443bcba215f5dfbc190fc107ae4ab > Author: Bogdan Devichev > Date: Fri Mar 20 14:33:23 2015 +0900 > > evas-3d: materials in .mtl format are deleted > > Summary: Materials are not used in any loader and will not be used in nearest future. > > Reviewers: raster, Hermet, cedric > > Reviewed By: cedric > > Subscribers: cedric > > Differential Revision: https://phab.enlightenment.org/D2080 > > Conflicts: > > src/examples/evas/Makefile.am That patch was already in, you just committed the conflict :-D please revert ! > --- > src/examples/evas/Makefile.am 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/src/examples/evas/Makefile.am b/src/examples/evas/Makefile.am > index 5e27afa..5ce20ff 100644 > --- a/src/examples/evas/Makefile.am > +++ b/src/examples/evas/Makefile.am > @@ -340,6 +340,8 @@ resources/images/four_NM_height.tga \ > resources/images/rocks_NM_height.tga \ > resources/images/grid.png \ > resources/images/grid_n.png \ > +resources/models/eagle.md2 \ > +resources/models/M15.obj \ > resources/models/mesh_for_mmap.eet \ > resources/models/mesh_for_mmap.md2 \ > resources/models/mesh_for_mmap.obj \ > > -- > > > -- Dive into the World of Parallel Programming The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Dive into the World of Parallel Programming The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [admin/devs] master 01/01: admin/jypark: update public key.
hermet pushed a commit to branch master. http://git.enlightenment.org/admin/devs.git/commit/?id=05120ba94b12297278487c426b4151a0ba6d6ade commit 05120ba94b12297278487c426b4151a0ba6d6ade Author: ChunEon Park Date: Fri Mar 20 18:26:57 2015 +0900 admin/jypark: update public key. requested by her. --- developers/jypark/id_rsa.pub | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/developers/jypark/id_rsa.pub b/developers/jypark/id_rsa.pub old mode 100644 new mode 100755 index 7f86cde..6fce8b6 --- a/developers/jypark/id_rsa.pub +++ b/developers/jypark/id_rsa.pub @@ -1 +1 @@ -ssh-rsa B3NzaC1yc2EDAQABAAACAQDqFDP2N2YIqxX4H04NJJA8e6A622mXiX30AgRh5hWUtpMnNm2hS+r3PIaUaapuhgFGPHvO1w28sIOpAySZR+NQqOUzCltY08H/YTjdnT4cB7lY/Rklsb9i6V6p3JknseltQmqEB3e28C7e9hFJGd4QCiZ8ReT1F1aK0MxdcGb4J/pIYxwoCHEoJuoc3wESd0EXg5rUym3KMPERrbdnNU7NDQnO+Zzx+Fim/dDo8opoV+dBBgPnT28+1vSY50aZtb62mdNsjQ7AFzvtTXsCjH3HOU0IkftGhleNG1kpHrbcely3cQMwyxewrqmMHAjUwHMaH4awdc5hWksZnUXjBBAbqOOp1CU1jQfN+XAadVo5hsQu3nIUDIJTxpauY+MzzmhGHu2/6xdy8JXKI64gWvcjKMtnPg6YE3vsLu6WkJhIWVOD5UVVg8mdyv21glv0k/S5z5mE [...] +ssh-rsa B3NzaC1yc2EDAQABAAACAQDPOLX2PgN9n2/zETtcXl/Qke75AmAK03NJGFu0NyEYIgZkmPQrP/epe4mXxLhhf53TTksz7gWD1iyR+YGIOpaPSSJ3Fwg9EYF7LLW9WIlsr5DV2GdVV8w6th/SScDAgjhBN02v0r81vPTEy61xWiIPJ25pEINGo/40e77wu5DWk5G25NAYYtci5OfOHyRk1Y00wzLopoIHtXRo2UTB1rRL3lDB4wuPZIaa9XP1wzet+FiIde88ltn3+DCP+FChlnO7deOl+0qJskLwitH4W7jysgXJn5O2K0AXBEg6D459ZfB6Lo/7ObW94eEUvKF3PPyyrER2GDwvJqduXeuf8xQliY9OI3Ylch9R0/mPg+dQaotPArmqJLvXuvJ6BBQsMBd7W8Ax3UoBRbY4QA2/jg6CHwNvndAfY6+S/f3SjnC6iHrD2Lrg6ivLKw9ZFxq6kR73Tgp5 [...] --
[EGIT] [admin/devs] master 01/01: developers: update jypark public key.
hermet pushed a commit to branch master. http://git.enlightenment.org/admin/devs.git/commit/?id=010b6868c85f0cd204cc829585f8c8868b46d7b4 commit 010b6868c85f0cd204cc829585f8c8868b46d7b4 Author: ChunEon Park Date: Thu Mar 19 19:49:18 2015 +0900 developers: update jypark public key. --- developers/jypark/id_rsa.pub | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/developers/jypark/id_rsa.pub b/developers/jypark/id_rsa.pub index 0248068..7f86cde 100644 --- a/developers/jypark/id_rsa.pub +++ b/developers/jypark/id_rsa.pub @@ -1 +1 @@ -ssh-rsa B3NzaC1yc2EBIwAAAgEAtN/qnKgmKKJutecdyEgRgYmhyMaCzKfoK+YQctTLZ3jVmueZRkyTl8uwpwAW6eXA9mx3vnKIT61BY7LnZ/dfYQ4L+KxVf/Lbjz9GoUlaUe3xVrFPf3IF9GAbXvZgyMSrUO9uTexIllsf29A0pfEmeQ6o51pnoS69uvjNJACr600DECjSpbT6z6EgE9Hy7X3xIXHLY8uYT3HK+yu6g/neVX96tDQUxRV0zoMKpaMGFUhPRpIh4FoFy0qmTN98TcD/1GpzkaYVPIYKCUpWgoMHtL79aKpAcdcRcAFxNv8YLDEz/7AInDe2wCFm3QDj4z+3TFvIgTAL3fVl+SoUBH0vrilvnUo1Wx7Fciv0V0OZTyeWEeSXUkhvauzKHbFZr74cB8n+/oMPN92jAQ3XDHu5Mc86C9nonTw1phYMIuRoozLsyeuVKSc22sqxvL7xCKihepa0AWG8 [...] +ssh-rsa B3NzaC1yc2EDAQABAAACAQDqFDP2N2YIqxX4H04NJJA8e6A622mXiX30AgRh5hWUtpMnNm2hS+r3PIaUaapuhgFGPHvO1w28sIOpAySZR+NQqOUzCltY08H/YTjdnT4cB7lY/Rklsb9i6V6p3JknseltQmqEB3e28C7e9hFJGd4QCiZ8ReT1F1aK0MxdcGb4J/pIYxwoCHEoJuoc3wESd0EXg5rUym3KMPERrbdnNU7NDQnO+Zzx+Fim/dDo8opoV+dBBgPnT28+1vSY50aZtb62mdNsjQ7AFzvtTXsCjH3HOU0IkftGhleNG1kpHrbcely3cQMwyxewrqmMHAjUwHMaH4awdc5hWksZnUXjBBAbqOOp1CU1jQfN+XAadVo5hsQu3nIUDIJTxpauY+MzzmhGHu2/6xdy8JXKI64gWvcjKMtnPg6YE3vsLu6WkJhIWVOD5UVVg8mdyv21glv0k/S5z5mE [...] --
[E-devel] probie suggestion - thiep
Hello. I suggest a new probie thiep who has worked for efl since 2012. He's majorly contributed to drag & drop, copy & paste and entry in efl. https://phab.enlightenment.org/differential/query/u5LTohJRwLrx/#R I convinced him a good developer and help to efl improvement so on. if you have no objections, i will give him probie permission on the next Monday. Thank you. -Regards, Hermet- -- Dive into the World of Parallel Programming The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [core/efl] master 01/01: evas/clip: If the clipper is image or has color, clipped area should be redrawn.
yes, it's bug. -Regards, Hermet- -Original Message- From: "Jean-Philippe André" To: "Enlightenment developer list"; Cc: Sent: 2015-03-17 (화) 17:25:02 Subject: Re: [E-devel] [EGIT] [core/efl] master 01/01: evas/clip: If the clipper is image or has color, clipped area should be redrawn. I removed the @fix tag O_o Do you think this should be backported? On Tue, Mar 17, 2015 at 4:03 PM, ChunEon Park wrote: > be sure @fix ? > > -Regards, Hermet- > > -Original Message- > From: "Youngbok Shin" > To: ; > Cc: > Sent: 2015-03-17 (화) 11:13:54 > Subject: [EGIT] [core/efl] master 01/01: evas/clip: If the clipper is > image or has color, clipped area should be redrawn. > > jpeg pushed a commit to branch master. > > > http://git.enlightenment.org/core/efl.git/commit/?id=84634ea51f18e6f88ca43527cfb7f2f56828e76a > > commit 84634ea51f18e6f88ca43527cfb7f2f56828e76a > Author: Youngbok Shin > Date: Tue Mar 17 11:02:04 2015 +0900 > > evas/clip: If the clipper is image or has color, clipped area should > be redrawn. > > Summary: > If the clipper is image or has color, it affects to its clipees. > Even if we unset the clipper or change the clipper to another object, > it seems the clipper is not changed. > > Test Plan: > Make two clipper objects and one clipee object. > And make clip the clipee according to following example > > ex) Clipee object -> inner_clipper -> clipper > > evas_object_clip_set(clipee, inner_clipper); > evas_object_clip_set(inner_clipper, clipper); > > After checking the result and hide inner_clipper. > > evas_object_clip_set(clipee, clipper); > evas_object_hide(inner_clipper); > > See the result. > > Reviewers: raster, cedric, Hermet, jpeg > > Subscribers: woohyun, cedric > > Differential Revision: https://phab.enlightenment.org/D2112 > > Signed-off-by: Jean-Philippe Andre > > Note: Technically we should not check the color of the fact that > the clipper is a mask and not a simple rect. But because of > real-life performance issues, damage_add was disabled so we're > trying to keep the perf in most cases while being correct in > cases where the clipper is visually important. > --- > src/lib/evas/canvas/evas_clip.c 22 -- > 1 file changed, 16 insertions(+), 6 deletions(-) > > diff --git a/src/lib/evas/canvas/evas_clip.c > b/src/lib/evas/canvas/evas_clip.c > index 833a7e4..a6f1e6f 100644 > --- a/src/lib/evas/canvas/evas_clip.c > +++ b/src/lib/evas/canvas/evas_clip.c > @@ -294,8 +294,13 @@ _evas_object_clip_set(Eo *eo_obj, > Evas_Object_Protected_Data *obj, Evas_Object * > EINA_COW_STATE_WRITE_END(obj->cur->clipper, state_write, > cur); > /* i know this was to handle a case where a clip stops having children and > * becomes a solid colored box - no one ever does that... they hide the > clip > - * so dont add damages > - if ((obj->cur->clipper->cur) && > (obj->cur->clipper->cur->visible)) > + * so dont add damages. > + * But, if the clipper could affect color to its clipees, > + * the clipped area should be redrawn. */ > + if (((obj->cur->clipper->cur) && > (obj->cur->clipper->cur->visible)) && > + (((obj->cur->clipper->cur->color.r != 255) > (obj->cur->clipper->cur->color.g != 255) > + (obj->cur->clipper->cur->color.b != 255) > (obj->cur->clipper->cur->color.a != 255)) > + (obj->cur->clipper->mask->is_mask))) > { >if (obj->cur->clipper->layer) > { > @@ -307,7 +312,7 @@ _evas_object_clip_set(Eo *eo_obj, > Evas_Object_Protected_Data *obj, Evas_Object * > > obj->cur->clipper->cur->geometry.h); > } > } > - */ > + > _evas_object_clip_mask_unset(obj->cur->clipper); >} > evas_object_change(obj->cur->clipper->object, obj->cur->clipper); > @@ -417,8 +422,13 @@ _evas_object_clip_unset(Eo *eo_obj, > Evas_Object_Protected_Data *obj) > EINA_COW_STATE_WRITE_END(obj->cur->clipper, state_write, > cur); > /* i know this was to handle a case where a clip stops having children and > * becomes a solid colored box - no one ever does that... they hide the > clip > - * so dont add damages > - if
Re: [E-devel] [EGIT] [core/elementary] master 01/01: elm_panel: Fix incorrect scroller content region calculation of panel.
please append @fix tag and backport to elementary.1.13 branch. thank you. -Regards, Hermet- -Original Message- From: "Jaehyun Cho" To: ; Cc: Sent: 2015-03-13 (금) 17:34:42 Subject: [EGIT] [core/elementary] master 01/01: elm_panel: Fix incorrect scroller content region calculation of panel. jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=8ee8864bdc8615602e7ed45341092d26e5e76627 commit 8ee8864bdc8615602e7ed45341092d26e5e76627 Author: Jaehyun Cho Date: Fri Mar 13 17:27:03 2015 +0900 elm_panel: Fix incorrect scroller content region calculation of panel. Summary: Fix incorrect scroller content region calculation of panel. It is fixed that the parent of panel content becomes scr_ly if panel is scrollable. Test Plan: Test Panel Scrollable in elementary_test. 1. Change panel orient as ELM_PANEL_ORIENT_RIGHT in test_panel.c. 2. Run elementary_test and test Panel Scrollable. 3. You can see the right panel drawer is hidden right after it is shown. (After applying this patch, this problem will be resolved.) Reviewers: seoz, woohyun, eunue, Hermet Reviewed By: Hermet Differential Revision: https://phab.enlightenment.org/D2125 --- src/lib/elm_panel.c 6 ++ 1 file changed, 6 insertions(+) diff --git a/src/lib/elm_panel.c b/src/lib/elm_panel.c index a8da6a8..733386f 100644 --- a/src/lib/elm_panel.c +++ b/src/lib/elm_panel.c @@ -886,6 +886,8 @@ _elm_panel_elm_container_content_set(Eo *obj, Elm_Panel_Data *sd, const char *pa { evas_object_box_append(sd->bx, sd->content); evas_object_show(sd->content); +if (sd->scrollable) + elm_widget_sub_object_add(sd->scr_ly, sd->content); } elm_layout_sizing_eval(obj); @@ -940,6 +942,8 @@ _elm_panel_elm_container_content_unset(Eo *obj, Elm_Panel_Data *sd, const char * ret = sd->content; evas_object_box_remove_all(sd->bx, EINA_FALSE); + if (sd->scrollable) + elm_widget_sub_object_del(sd->scr_ly, sd->content); sd->content = NULL; return ret; @@ -1384,6 +1388,7 @@ _elm_panel_scrollable_set(Eo *obj, Elm_Panel_Data *sd, Eina_Bool scrollable) elm_interface_scrollable_content_set(sd->scr_ly)); sd->freeze = EINA_TRUE; elm_layout_content_set(sd->scr_ly, "elm.swallow.content", sd->bx); +if (sd->content) elm_widget_sub_object_add(sd->scr_ly, sd->content); switch (sd->orient) { @@ -1432,6 +1437,7 @@ _elm_panel_scrollable_set(Eo *obj, Elm_Panel_Data *sd, Eina_Bool scrollable) elm_layout_content_unset(sd->scr_ly, "elm.swallow.content"); elm_layout_content_set(obj, "elm.swallow.content", sd->bx); +if (sd->content) elm_widget_sub_object_add(sd->bx, sd->content); } } -- -- Dive into the World of Parallel Programming The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [core/efl] master 01/01: evas/clip: If the clipper is image or has color, clipped area should be redrawn.
be sure @fix ? -Regards, Hermet- -Original Message- From: "Youngbok Shin" To: ; Cc: Sent: 2015-03-17 (화) 11:13:54 Subject: [EGIT] [core/efl] master 01/01: evas/clip: If the clipper is image or has color, clipped area should be redrawn. jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=84634ea51f18e6f88ca43527cfb7f2f56828e76a commit 84634ea51f18e6f88ca43527cfb7f2f56828e76a Author: Youngbok Shin Date: Tue Mar 17 11:02:04 2015 +0900 evas/clip: If the clipper is image or has color, clipped area should be redrawn. Summary: If the clipper is image or has color, it affects to its clipees. Even if we unset the clipper or change the clipper to another object, it seems the clipper is not changed. Test Plan: Make two clipper objects and one clipee object. And make clip the clipee according to following example ex) Clipee object -> inner_clipper -> clipper evas_object_clip_set(clipee, inner_clipper); evas_object_clip_set(inner_clipper, clipper); After checking the result and hide inner_clipper. evas_object_clip_set(clipee, clipper); evas_object_hide(inner_clipper); See the result. Reviewers: raster, cedric, Hermet, jpeg Subscribers: woohyun, cedric Differential Revision: https://phab.enlightenment.org/D2112 Signed-off-by: Jean-Philippe Andre Note: Technically we should not check the color of the fact that the clipper is a mask and not a simple rect. But because of real-life performance issues, damage_add was disabled so we're trying to keep the perf in most cases while being correct in cases where the clipper is visually important. --- src/lib/evas/canvas/evas_clip.c 22 -- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/lib/evas/canvas/evas_clip.c b/src/lib/evas/canvas/evas_clip.c index 833a7e4..a6f1e6f 100644 --- a/src/lib/evas/canvas/evas_clip.c +++ b/src/lib/evas/canvas/evas_clip.c @@ -294,8 +294,13 @@ _evas_object_clip_set(Eo *eo_obj, Evas_Object_Protected_Data *obj, Evas_Object * EINA_COW_STATE_WRITE_END(obj->cur->clipper, state_write, cur); /* i know this was to handle a case where a clip stops having children and * becomes a solid colored box - no one ever does that... they hide the clip - * so dont add damages - if ((obj->cur->clipper->cur) && (obj->cur->clipper->cur->visible)) + * so dont add damages. + * But, if the clipper could affect color to its clipees, + * the clipped area should be redrawn. */ + if (((obj->cur->clipper->cur) && (obj->cur->clipper->cur->visible)) && + (((obj->cur->clipper->cur->color.r != 255) (obj->cur->clipper->cur->color.g != 255) + (obj->cur->clipper->cur->color.b != 255) (obj->cur->clipper->cur->color.a != 255)) + (obj->cur->clipper->mask->is_mask))) { if (obj->cur->clipper->layer) { @@ -307,7 +312,7 @@ _evas_object_clip_set(Eo *eo_obj, Evas_Object_Protected_Data *obj, Evas_Object * obj->cur->clipper->cur->geometry.h); } } - */ + _evas_object_clip_mask_unset(obj->cur->clipper); } evas_object_change(obj->cur->clipper->object, obj->cur->clipper); @@ -417,8 +422,13 @@ _evas_object_clip_unset(Eo *eo_obj, Evas_Object_Protected_Data *obj) EINA_COW_STATE_WRITE_END(obj->cur->clipper, state_write, cur); /* i know this was to handle a case where a clip stops having children and * becomes a solid colored box - no one ever does that... they hide the clip - * so dont add damages - if ((obj->cur->clipper->cur) && (obj->cur->clipper->cur->visible)) + * so dont add damages. + * But, if the clipper could affect color to its clipees, + * the clipped area should be redrawn. */ + if (((obj->cur->clipper->cur) && (obj->cur->clipper->cur->visible)) && + (((obj->cur->clipper->cur->color.r != 255) (obj->cur->clipper->cur->color.g != 255) + (obj->cur->clipper->cur->color.b != 255) (obj->cur->clipper->cur->color.a != 255)) + (obj->cur->clipper->mask->is_mask))) { if (obj->cur->clipper->layer) { @@ -430,7 +440,7 @@ _evas_object_clip_unset(Eo *eo_obj, Evas_Object_Protected_Data *obj) obj->cur->clipper->cur->geometry.h); } } - */ + _evas_object_clip_mask_unset(obj->cur->clipper); } evas_object_change(obj->cur->clipper->object, obj->cur->clipper); -- -- Dive into the World o