Re: [E-devel] [Patch] Align of Elm_Notify
Hello, I don't know if we can use this size hints stuffs to this kind of general alignment cases. But I have some other comments. 1. default behavior is broken Default position is top but it's now broken. Because 0.5 is the default value of align hints. You can easily reproduce this by removing the following line from test_notify.c in your patch. evas_object_size_hint_align_set(notify, 0.5, 0.0); 2. mirroring Mirroring is broken. Test it by enalbing UI-Mirroring option of elementary_test. It's broken. Daniel Juyung Seo (SeoZ) On Mon, Oct 22, 2012 at 5:10 PM, Seunggyun Kim sgyun@samsung.com wrote: Hi. I attached elm_notify's patch supporting hint align set. Current elm_notify's position has being controlled only by elm_notify_orient_set API . This API are supporting 9 direction and showing only child's min size's layout. So I made elm_notify patch for supporting various GUI scenarios. Changed feature are like below. - support moving to any position using x,y align value. - support expanding child's layout to parent's size. Notify can be moved and expanped by using evas_object_size_hint_set. For example, evas_object_size_hint_align_set(notify, 0.0 0.0); // ELM_NOTIFY_ORIENT_TOP_LEFT evas_object_size_hint_align_set(notify, 0.5 0.5); // ELM_NOTIFY_ORIENT_CENTER evas_object_size_hint_align_set(notify, 1.0 1.0); // ELM_NOTIFY_ORIENT_BOTTOM_RIGHT evas_object_size_hint_align_set(notify, EVAS_HINT_FILL, 1.0); // fill bottom area I think elm_notify_orient_set isn't necessary anymore. But for compatibility, I remained the API and that still can be used. I attached elm_notify.c and test_notify.c diff. Please review my patch. Thanks :) -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [Patch] Align of Elm_Notify
Hello, Thanks for reviewing. Actually, there are two option for resolving issues you comment. First option is to use elm_notify_orient_set api instead of evas_object_size_hint_align_set. But that api's arguments have to be changed like below prototype. - before elm_notify_orient_set(Evas_Object *obj, Elm_Notify_Orient orient) - after elm_notify_orient_set(Evas_Object *obj, double *x, double *y) however this changing will occur compatibility problem. Second option is to add new API like below. elm_notify_align_set(Evas_Object *obj, double *x, double *y) I'm not sure which one is the best solution. At that time I made patch, I consider the window object that added by elm_notify is parent object. And I think elm_notify has the window's child relation. So I think elm_notify also can be controled by evas_object_size_hint_align_set. Anyway, I have a question about general alignment cases. Which objects can use these evas_object_size_hint_align_set and evas_object_size_hint_weight_set apis? (box, table??) I think efl developers are little comfusing about that. Can anyone answer this? I'll send new patch after this issue is cleared. Thanks. -Original Message- From: Daniel Juyung Seo [mailto:seojuyu...@gmail.com] Sent: Tuesday, October 23, 2012 3:02 PM To: Enlightenment developer list Cc: sgyun@samsung.com Subject: Re: [E-devel] [Patch] Align of Elm_Notify Hello, I don't know if we can use this size hints stuffs to this kind of general alignment cases. But I have some other comments. 1. default behavior is broken Default position is top but it's now broken. Because 0.5 is the default value of align hints. You can easily reproduce this by removing the following line from test_notify.c in your patch. evas_object_size_hint_align_set(notify, 0.5, 0.0); 2. mirroring Mirroring is broken. Test it by enalbing UI-Mirroring option of elementary_test. It's broken. Daniel Juyung Seo (SeoZ) On Mon, Oct 22, 2012 at 5:10 PM, Seunggyun Kim sgyun@samsung.com wrote: Hi. I attached elm_notify's patch supporting hint align set. Current elm_notify's position has being controlled only by elm_notify_orient_set API . This API are supporting 9 direction and showing only child's min size's layout. So I made elm_notify patch for supporting various GUI scenarios. Changed feature are like below. - support moving to any position using x,y align value. - support expanding child's layout to parent's size. Notify can be moved and expanped by using evas_object_size_hint_set. For example, evas_object_size_hint_align_set(notify, 0.0 0.0); // ELM_NOTIFY_ORIENT_TOP_LEFT evas_object_size_hint_align_set(notify, 0.5 0.5); // ELM_NOTIFY_ORIENT_CENTER evas_object_size_hint_align_set(notify, 1.0 1.0); // ELM_NOTIFY_ORIENT_BOTTOM_RIGHT evas_object_size_hint_align_set(notify, EVAS_HINT_FILL, 1.0); // fill bottom area I think elm_notify_orient_set isn't necessary anymore. But for compatibility, I remained the API and that still can be used. I attached elm_notify.c and test_notify.c diff. Please review my patch. Thanks :) -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [Patch] Align of Elm_Notify
+1 elm_notify_orient_set(Evas_Object *obj, double *x, double *y) in elm 2.0 or elm_notify_align_set(Evas_Object *obj, double *x, double *y) To determine it's size and position (in relative case) we can refer the size_hints values. -Regards, Hermet- -Original Message- From: Seunggyun Kimlt;sgyun@samsung.comgt; To: 'Daniel Juyung Seo'lt;seojuyu...@gmail.comgt;; 'Enlightenment developer list'lt;enlightenment-devel@lists.sourceforge.netgt;; Cc: lt;sgyun@samsung.comgt;; Sent: 2012-10-23 (화) 16:38:01 Subject: Re: [E-devel] [Patch] Align of Elm_Notify Hello, Thanks for reviewing. Actually, there are two option for resolving issues you comment. First option is to use elm_notify_orient_set api instead of evas_object_size_hint_align_set. But that api's arguments have to be changed like below prototype. - before elm_notify_orient_set(Evas_Object *obj, Elm_Notify_Orient orient) - after elm_notify_orient_set(Evas_Object *obj, double *x, double *y) however this changing will occur compatibility problem. Second option is to add new API like below. elm_notify_align_set(Evas_Object *obj, double *x, double *y) I'm not sure which one is the best solution. At that time I made patch, I consider the window object that added by elm_notify is parent object. And I think elm_notify has the window's child relation. So I think elm_notify also can be controled by evas_object_size_hint_align_set. Anyway, I have a question about general alignment cases. Which objects can use these evas_object_size_hint_align_set and evas_object_size_hint_weight_set apis? (box, table??) I think efl developers are little comfusing about that. Can anyone answer this? I'll send new patch after this issue is cleared. Thanks. -Original Message- From: Daniel Juyung Seo [mailto:seojuyu...@gmail.com] Sent: Tuesday, October 23, 2012 3:02 PM To: Enlightenment developer list Cc: sgyun@samsung.com Subject: Re: [E-devel] [Patch] Align of Elm_Notify Hello, I don't know if we can use this size hints stuffs to this kind of general alignment cases. But I have some other comments. 1. default behavior is broken Default position is top but it's now broken. Because 0.5 is the default value of align hints. You can easily reproduce this by removing the following line from test_notify.c in your patch. gt; evas_object_size_hint_align_set(notify, 0.5, 0.0); 2. mirroring Mirroring is broken. Test it by enalbing UI-Mirroring option of elementary_test. It's broken. Daniel Juyung Seo (SeoZ) On Mon, Oct 22, 2012 at 5:10 PM, Seunggyun Kim lt;sgyun.kimgt;@samsung.comgt; wrote: gt; Hi. gt; gt; I attached elm_notify's patch supporting hint align set. gt; Current elm_notify's position has being controlled only by gt; elm_notify_orient_set API . gt; This API are supporting 9 direction and showing only child's min size's gt; layout. gt; gt; So I made elm_notify patch for supporting various GUI scenarios. gt; gt; Changed feature are like below. gt; - support moving to any position using x,y align value. gt; - support expanding child's layout to parent's size. gt; gt; Notify can be moved and expanped by using evas_object_size_hint_set. gt; For example, gt; evas_object_size_hint_align_set(notify, 0.0 0.0); // gt; ELM_NOTIFY_ORIENT_TOP_LEFT gt; evas_object_size_hint_align_set(notify, 0.5 0.5); // gt; ELM_NOTIFY_ORIENT_CENTER gt; evas_object_size_hint_align_set(notify, 1.0 1.0); // gt; ELM_NOTIFY_ORIENT_BOTTOM_RIGHT gt; evas_object_size_hint_align_set(notify, EVAS_HINT_FILL, 1.0); // fill gt; bottom area gt; gt; I think elm_notify_orient_set isn't necessary anymore. gt; But for compatibility, I remained the API and that still can be used. gt; gt; I attached elm_notify.c and test_notify.c diff. gt; Please review my patch. gt; Thanks :) gt; gt; -- gt; Everyone hates slow websites. So do we. gt; Make your web apps faster with AppDynamics gt; Download AppDynamics Lite for free today: gt; http://p.sf.net/sfu/appdyn_sfd2d_oct gt; ___ gt; enlightenment-devel mailing list gt; enlightenment-devel@lists.sourceforge.net gt; https://lists.sourceforge.net/lists/listinfo/enlightenment-devel gt; -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today:
Re: [E-devel] I reverted a broken patch to genlist (77944)
Hum... I don't know why evas object is not correct when item is realizedunrealized after genlist is cleared.. Anyway, it's my fault :( Later, I will resend fixed patch. 2012/10/23 Daniel Juyung Seo seojuyu...@gmail.com: Thanks for the test/revert. I should look at the patch. Daniel Juyung Seo (SeoZ) On Mon, Oct 22, 2012 at 11:36 PM, Tom Hacohen tom.haco...@samsung.com wrote: Hey, I reverted commit 77944 that was committed by raster (a patch from Bluezery). That commit broke genlist and clouseau. How to reproduce: Open Genlist 2 test, click on the X button, and then click on the + button. Cheers, Tom. -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- BRs, Kim. -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] E SVN: hermet IN trunk/evas/src/lib: . canvas include
Hermet, you have to revert ... you forgot the @since 1.8 for the Eo defines and Vincent will kill you ;-) On 10/23/2012 10:44 AM, Enlightenment SVN wrote: Log: evas/proxy - added 2 more apis. not enough yet. will fix them soon. evas_object_image_source_events_set/get Author: hermet Date: 2012-10-23 01:44:11 -0700 (Tue, 23 Oct 2012) New Revision: 78361 Trac: http://trac.enlightenment.org/e/changeset/78361 Modified: trunk/evas/src/lib/Evas.h trunk/evas/src/lib/canvas/evas_events.c trunk/evas/src/lib/canvas/evas_object_image.c trunk/evas/src/lib/include/evas_private.h Modified: trunk/evas/src/lib/Evas.h === --- trunk/evas/src/lib/Evas.h 2012-10-23 07:25:29 UTC (rev 78360) +++ trunk/evas/src/lib/Evas.h 2012-10-23 08:44:11 UTC (rev 78361) @@ -9160,6 +9160,44 @@ EAPI Eina_Bool evas_object_image_source_visible_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); /** + * Set whether an Evas object is to source events. + * + * @param obj Proxy (image) object. + * @param source whether @p obj is to pass events (@c EINA_TRUE) or not + * (@c EINA_FALSE) + * + * Set whether an Evas object is to repeat events to source. + * + * If @p source is @c EINA_TRUE, it will make events on @p obj to also be + * repeated for the source object (see evas_object_image_source_set()). Even the + * @p obj and source geometries are different, the event position will be + * transformed to the source object's space. + * + * If @p source is @c EINA_FALSE, events occurring on @p obj will be + * processed only on it. + * + * @see evas_object_image_source_get() + * @see evas_object_image_source_visible_set() + * @see evas_object_source_events_set() + * @since 1.8 + */ +EAPI void evas_object_image_source_events_set(Evas_Object *obj, Eina_Bool source) EINA_ARG_NONNULL(1); + +/** + * Determine whether an object is set to source events. + * + * @param obj Proxy (image) object. + * @return source whether @p obj is set to source events (@c EINA_TRUE) or not + * (@c EINA_FALSE) + * + * @see evas_object_image_source_set() + * @see evas_object_image_source_visible_set() + * @see evas_object_source_events_set() + * @since 1.8 + */ +EAPI Eina_Bool evas_object_image_source_events_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); + +/** * Check if a file extension may be supported by @ref Evas_Object_Image. * * @param file The file to check @@ -18047,6 +18085,8 @@ EVAS_OBJ_IMAGE_SUB_ID_ANIMATED_FRAME_SET, EVAS_OBJ_IMAGE_SUB_ID_SOURCE_VISIBLE_SET, EVAS_OBJ_IMAGE_SUB_ID_SOURCE_VISIBLE_GET, + EVAS_OBJ_IMAGE_SUB_ID_SOURCE_EVENTS_SET, + EVAS_OBJ_IMAGE_SUB_ID_SOURCE_EVENTS_GET, EVAS_OBJ_IMAGE_SUB_ID_LAST }; @@ -18151,6 +18191,28 @@ #define evas_obj_image_source_visible_get(visible) EVAS_OBJ_IMAGE_ID(EVAS_OBJ_IMAGE_SUB_ID_SOURCE_VISIBLE_GET), EO_TYPECHECK(Eina_Bool *, visible) /** + * @def evas_obj_image_source_events_set + * + * Set events to be repeated to the source object. + * + * @param[in] source in + * + * @see evas_object_image_source_events_get + */ +#define evas_obj_image_source_events_set(source) EVAS_OBJ_IMAGE_ID(EVAS_OBJ_IMAGE_SUB_ID_SOURCE_EVENTS_SET), EO_TYPECHECK(Eina_Bool, source) + +/** + * @def evas_obj_image_source_events_get + * + * Get the state of the source event. + * + * @param[out] source out + * + * @see evas_obj_image_source_event_set + */ +#define evas_obj_image_source_events_get(source) EVAS_OBJ_IMAGE_ID(EVAS_OBJ_IMAGE_SUB_ID_SOURCE_EVENTS_GET), EO_TYPECHECK(Eina_Bool *, source) + +/** * @def evas_obj_image_border_set * @since 1.8 * Modified: trunk/evas/src/lib/canvas/evas_events.c === --- trunk/evas/src/lib/canvas/evas_events.c 2012-10-23 07:25:29 UTC (rev 78360) +++ trunk/evas/src/lib/canvas/evas_events.c 2012-10-23 08:44:11 UTC (rev 78361) @@ -4,7 +4,7 @@ static Eina_List * _evas_event_object_list_in_get(Evas *eo_e, Eina_List *in, const Eina_Inlist *list, Evas_Object *stop, - int x, int y, int *no_rep); + int x, int y, int *no_rep, Eina_Bool source); static void _evas_event_havemap_adjust(Evas_Object *eo_obj EINA_UNUSED, Evas_Object_Protected_Data *obj, Evas_Coord *x, Evas_Coord *y, Eina_Bool mouse_grabbed) @@ -42,7 +42,7 @@ static Eina_List * _evas_event_object_list_raw_in_get(Evas *eo_e, Eina_List *in, const Eina_Inlist *list, Evas_Object *stop, - int x, int y, int *no_rep) + int x, int y, int *no_rep, Eina_Bool source) { Evas_Object *eo_obj; Evas_Object_Protected_Data *obj;
Re: [E-devel] buildbot: what's the status ?
Hello. On 14/10/12 17:25, Vincent Torri wrote: i would like to know what the status of buildbot is. It seems just not functional while it was working some months ago Some progress today. o Got access to e3 again and installed fribidi, lcov and check. o Addded the merged efl tree and removed evil, eina and eet deps o Kicked e3 and e4 until they started building again o Removed some of the configure options that got removed. It should at least build now again. There is still a lot of stuff missing but for some we need access on e4 (already contacted beber) and it will taken some time to figure it all out. But Daniel and me will both work on this. regards Stefan Schmidt -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] buildbot: what's the status ?
On 23/10/12 11:35, Stefan Schmidt wrote: Hello. On 14/10/12 17:25, Vincent Torri wrote: i would like to know what the status of buildbot is. It seems just not functional while it was working some months ago Some progress today. o Got access to e3 again and installed fribidi, lcov and check. o Addded the merged efl tree and removed evil, eina and eet deps o Kicked e3 and e4 until they started building again o Removed some of the configure options that got removed. It should at least build now again. There is still a lot of stuff missing but for some we need access on e4 (already contacted beber) and it will taken some time to figure it all out. But Daniel and me will both work on this. regards Stefan Schmidt Thank you for the status update !! :) Nice to know what works, what doesn't ;) dh -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] E SVN: hermet IN trunk/evas/src/lib: . canvas include
Hello Hermet, The feature seems nice, good work! But I am still not sure how to control the source object from different proxies. Will there be any conflict if different proxies set the source to different visible states? Is that expected or, if it's wrong to do it, maybe this should be added to the docs? On Mon, Oct 22, 2012 at 11:42 PM, ChunEon Park her...@naver.com wrote: ahh mistake. do FALSE. evas_object_image_source_visible_set(source, EINA_FALSE); -Regards, Hermet- -Original Message- From: ChunEon Parklt;her...@naver.comgt; To: Enlightenment developer listlt;enlightenment-devel@lists.sourceforge.netgt;; Cc: Sent: 2012-10-23 (화) 10:16:15 Subject: Re: [E-devel]E SVN: hermet IN trunk/evas/src/lib: . canvas include Hi, I don't know about aborting. it doesn't happened here. please rebuild evas fully again or give me the scenario . And to show only proxy, Don't hide source. just call evas_object_image_source_visible_set(source, EINA_TRUE); ex) evas_object_image_source_visible_set(source, EINA_TRUE); evas_object_show(proxy); -Regards, Hermet- -Original Message- From: Bruno Dillylt;bdi...@profusion.mobigt; To: lt;enlightenment-devel@lists.sourceforge.netgt;; Cc: Sent: 2012-10-23 (화) 01:47:22 Subject: Re: [E-devel] E SVN: hermet IN trunk/evas/src/lib: . canvas include On Thu, Oct 18, 2012 at 8:30 AM, Enlightenment SVN lt;no-replygt;@enlightenment.orggt; wrote: gt; Log: gt; evas/proxy - +source visible set APIs gt; gt; Need to care some more cases. will be upstreamed additionally. gt; gt; gt; gt; Author: hermet gt; Date: 2012-10-18 04:30:04 -0700 (Thu, 18 Oct 2012) gt; New Revision: 78180 gt; Trac: http://trac.enlightenment.org/e/changeset/78180 gt; Hey, Hermet it looks interesting. I'm trying it on ephysics, but I got the following error: ERRlt;12565gt;:eo eo.c:405 _eo_dov_internal() Can't find func for op 1b6 (Evas_Object_Image:EVAS_OBJ_IMAGE_SUB_ID_SOURCE_VISIBLE_SET) for class 'Evas_Object_Smart'. Aborting. I'm trying to keep the source invisible and proxy visible doing: evas_object_image_source_visible_set(source, EINA_TRUE); evas_object_hide(source); evas_object_show(proxy); And everything is hidden. The source is a smart object, an elm_image. -- Bruno Dilly Senior Developer ProFUSION embedded systems http://profusion.mobi -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Rafael Antognolli http://antognolli.org/ -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [PATCH][Evas] improve the evas_object_image_source_visible_set docs
Hi, Attached goes a patch improving the evas_object_image_source_visible_set documentation. Regards, -- Leandro Dorileo ProFUSION embedded systems http://profusion.mobi commit f7f906fb69afd3e75fde3dc0324cc79ed215b40b Author: Leandro Dorileo dori...@profusion.mobi Date: Tue Oct 23 14:02:35 2012 -0200 Evas: improve the evas_object_image_source_visible_set docs diff --git a/src/lib/Evas.h b/src/lib/Evas.h index 46b0ea7..9625013 100644 --- a/src/lib/Evas.h +++ b/src/lib/Evas.h @@ -9122,20 +9122,22 @@ EAPI Evas_Object *evas_object_image_source_get(const Evas_Objec EAPI Eina_Bool evas_object_image_source_unset(Evas_Object *obj) EINA_ARG_NONNULL(1); /** - * Set the source object to be shown or hidden. + * Set the source object to be visible or not. * * @param obj Proxy (image) object. * @param visible @c EINA_TRUE is source object to be shown, @c EINA_FALSE * otherwise. * - * If the @p visible set to @c EINA_FALSE, the source object of the proxy(@p obj - * ) will be hidden. + * If @p visible is set to @c EINA_FALSE, the source object of the proxy(@p obj + * ) will be invisible. + * + * This API works differently to evas_object_show() and evas_object_hide(). + * Once source object is hidden by evas_object_hide() then the proxy object will + * be hidden as well. Actually in this case both objects are excluded from the + * Evas internal update cicle. * - * This API works differently with evas_object_show() and evas_object_hide(). - * Once source object is hidden by evas_object_hide() then the proxy object will * be hidden also. Actually in this case both objects are excluded from the - * Evas internal updation. By this API, instead, you can set only proxy object - * to be shown. And even if source object is invisible, source object can be - *updated for proxy. + * By this API, instead, one can toggle the visibility of a proxy's source object + * remaining the proxy visibility untouched. * * @see evas_object_image_source_visible_get() * @see evas_object_image_source_set() -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] E SVN: hermet IN trunk/evas/src/lib: . canvas include
Sorry. totally I mistook for your reply. Here is the actually example for this API. ex) Evas_Object *btn; Evas_Object *img; ... evas_object_show(btn); evas_object_show(img); evas_object_image_source_set(img, btn); evas_object_image_source_visible_set(img, EINA_FALSE); //here is a more API added. evas_object_image_source_event_set(img, EINA_TRUE); //this img will pass it's events to btn. Only the final state will be available for source visiblity, If the multiple proxies are racing to set their shared source visibility. And doc and example needs to be updated. Thank you. -Regards, Hermet- -Original Message- From: Rafael Antognollilt;antogno...@gmail.comgt; To: Enlightenment developer listlt;enlightenment-devel@lists.sourceforge.netgt;; Cc: Sent: 2012-10-23 (화) 20:04:15 Subject: Re: [E-devel] E SVN: hermet IN trunk/evas/src/lib: . canvas include Hello Hermet, The feature seems nice, good work! But I am still not sure how to control the source object from different proxies. Will there be any conflict if different proxies set the source to different visible states? Is that expected or, if it's wrong to do it, maybe this should be added to the docs? On Mon, Oct 22, 2012 at 11:42 PM, ChunEon Park lt;hermetgt;@naver.comgt; wrote: gt; ahh mistake. gt; gt; gt; do FALSE. gt; gt; evas_object_image_source_visible_set(source, EINA_FALSE); gt; gt; gt; gt; gt; -Regards, Hermet- gt; gt; -Original Message- gt; From: ChunEon Parklt;her...@naver.comgt; gt; To: Enlightenment developer listlt;enlightenment-devel@lists.sourceforge.netgt;; gt; Cc: gt; Sent: 2012-10-23 (화) 10:16:15 gt; Subject: Re: [E-devel]E SVN: hermet IN trunk/evas/src/lib: . canvas include gt; gt; Hi, gt; I don't know about aborting. it doesn't happened here. gt; please rebuild evas fully again or give me the scenario . gt; gt; gt; And to show only proxy, gt; Don't hide source. gt; just call evas_object_image_source_visible_set(source, EINA_TRUE); gt; gt; gt; gt; ex) gt; gt; evas_object_image_source_visible_set(source, EINA_TRUE); gt; evas_object_show(proxy); gt; gt; gt; gt; gt; gt; -Regards, Hermet- gt; gt; -Original Message- gt; From: Bruno Dillylt;bdi...@profusion.mobigt; gt; To: lt;enlightenment-devel@lists.sourceforge.netgt;; gt; Cc: gt; Sent: 2012-10-23 (화) 01:47:22 gt; Subject: Re: [E-devel] E SVN: hermet IN trunk/evas/src/lib: . canvas include gt; gt; On Thu, Oct 18, 2012 at 8:30 AM, Enlightenment SVN gt; lt;no-replygt;@enlightenment.orggt; wrote: gt; gt; Log: gt; gt; evas/proxy - +source visible set APIs gt; gt; gt; gt; Need to care some more cases. will be upstreamed additionally. gt; gt; gt; gt; gt; gt; gt; gt; Author: hermet gt; gt; Date: 2012-10-18 04:30:04 -0700 (Thu, 18 Oct 2012) gt; gt; New Revision: 78180 gt; gt; Trac: http://trac.enlightenment.org/e/changeset/78180 gt; gt; gt; gt; Hey, Hermet gt; gt; it looks interesting. I'm trying it on ephysics, but I got the following error: gt; gt; ERRlt;12565gt;:eo eo.c:405 _eo_dov_internal() Can't find func for op 1b6 gt; (Evas_Object_Image:EVAS_OBJ_IMAGE_SUB_ID_SOURCE_VISIBLE_SET) for class gt; 'Evas_Object_Smart'. Aborting. gt; gt; I'm trying to keep the source invisible and proxy visible doing: gt; evas_object_image_source_visible_set(source, EINA_TRUE); gt; evas_object_hide(source); gt; evas_object_show(proxy); gt; gt; And everything is hidden. gt; gt; The source is a smart object, an elm_image. gt; gt; -- gt; Bruno Dilly gt; Senior Developer gt; ProFUSION embedded systems gt; http://profusion.mobi gt; gt; -- gt; Everyone hates slow websites. So do we. gt; Make your web apps faster with AppDynamics gt; Download AppDynamics Lite for free today: gt; http://p.sf.net/sfu/appdyn_sfd2d_oct gt; ___ gt; enlightenment-devel mailing list gt; enlightenment-devel@lists.sourceforge.net gt; https://lists.sourceforge.net/lists/listinfo/enlightenment-devel gt; gt; gt; -- gt; Everyone hates slow websites. So do we. gt; Make your web apps faster with AppDynamics gt; Download AppDynamics Lite for free today: gt; http://p.sf.net/sfu/appdyn_sfd2d_oct gt; ___ gt; enlightenment-devel mailing list gt; enlightenment-devel@lists.sourceforge.net gt; https://lists.sourceforge.net/lists/listinfo/enlightenment-devel gt; -- gt; Everyone hates slow websites. So do we. gt; Make your web apps faster with AppDynamics gt; Download AppDynamics Lite for free today: gt; http://p.sf.net/sfu/appdyn_sfd2d_oct gt; ___ gt; enlightenment-devel mailing list gt;
Re: [E-devel] E SVN: hermet IN trunk/evas/src/lib: . canvas include
On Tue, Oct 23, 2012 at 12:35 PM, ChunEon Park her...@naver.com wrote: Sorry. totally I mistook for your reply. Here is the actually example for this API. ex) Evas_Object *btn; Evas_Object *img; ... evas_object_show(btn); evas_object_show(img); evas_object_image_source_set(img, btn); evas_object_image_source_visible_set(img, EINA_FALSE); Right, right. It should be set on proxy. I misunderstood your commit. //here is a more API added. evas_object_image_source_event_set(img, EINA_TRUE); //this img will pass it's events to btn. Great addition, btw. I believe it will be useful as well. =) Only the final state will be available for source visiblity, If the multiple proxies are racing to set their shared source visibility. And doc and example needs to be updated. Thank you. -Regards, Hermet- -Original Message- From: Rafael Antognollilt;antogno...@gmail.comgt; To: Enlightenment developer listlt;enlightenment-devel@lists.sourceforge.netgt;; Cc: Sent: 2012-10-23 (화) 20:04:15 Subject: Re: [E-devel] E SVN: hermet IN trunk/evas/src/lib: . canvas include Hello Hermet, The feature seems nice, good work! But I am still not sure how to control the source object from different proxies. Will there be any conflict if different proxies set the source to different visible states? Is that expected or, if it's wrong to do it, maybe this should be added to the docs? On Mon, Oct 22, 2012 at 11:42 PM, ChunEon Park lt;hermetgt;@naver.comgt; wrote: gt; ahh mistake. gt; gt; gt; do FALSE. gt; gt; evas_object_image_source_visible_set(source, EINA_FALSE); gt; gt; gt; gt; gt; -Regards, Hermet- gt; gt; -Original Message- gt; From: ChunEon Parklt;her...@naver.comgt; gt; To: Enlightenment developer listlt;enlightenment-devel@lists.sourceforge.netgt;; gt; Cc: gt; Sent: 2012-10-23 (화) 10:16:15 gt; Subject: Re: [E-devel]E SVN: hermet IN trunk/evas/src/lib: . canvas include gt; gt; Hi, gt; I don't know about aborting. it doesn't happened here. gt; please rebuild evas fully again or give me the scenario . gt; gt; gt; And to show only proxy, gt; Don't hide source. gt; just call evas_object_image_source_visible_set(source, EINA_TRUE); gt; gt; gt; gt; ex) gt; gt; evas_object_image_source_visible_set(source, EINA_TRUE); gt; evas_object_show(proxy); gt; gt; gt; gt; gt; gt; -Regards, Hermet- gt; gt; -Original Message- gt; From: Bruno Dillylt;bdi...@profusion.mobigt; gt; To: lt;enlightenment-devel@lists.sourceforge.netgt;; gt; Cc: gt; Sent: 2012-10-23 (화) 01:47:22 gt; Subject: Re: [E-devel] E SVN: hermet IN trunk/evas/src/lib: . canvas include gt; gt; On Thu, Oct 18, 2012 at 8:30 AM, Enlightenment SVN gt; lt;no-replygt;@enlightenment.orggt; wrote: gt; gt; Log: gt; gt; evas/proxy - +source visible set APIs gt; gt; gt; gt; Need to care some more cases. will be upstreamed additionally. gt; gt; gt; gt; gt; gt; gt; gt; Author: hermet gt; gt; Date: 2012-10-18 04:30:04 -0700 (Thu, 18 Oct 2012) gt; gt; New Revision: 78180 gt; gt; Trac: http://trac.enlightenment.org/e/changeset/78180 gt; gt; gt; gt; Hey, Hermet gt; gt; it looks interesting. I'm trying it on ephysics, but I got the following error: gt; gt; ERRlt;12565gt;:eo eo.c:405 _eo_dov_internal() Can't find func for op 1b6 gt; (Evas_Object_Image:EVAS_OBJ_IMAGE_SUB_ID_SOURCE_VISIBLE_SET) for class gt; 'Evas_Object_Smart'. Aborting. gt; gt; I'm trying to keep the source invisible and proxy visible doing: gt; evas_object_image_source_visible_set(source, EINA_TRUE); gt; evas_object_hide(source); gt; evas_object_show(proxy); gt; gt; And everything is hidden. gt; gt; The source is a smart object, an elm_image. gt; gt; -- gt; Bruno Dilly gt; Senior Developer gt; ProFUSION embedded systems gt; http://profusion.mobi gt; gt; -- gt; Everyone hates slow websites. So do we. gt; Make your web apps faster with AppDynamics gt; Download AppDynamics Lite for free today: gt; http://p.sf.net/sfu/appdyn_sfd2d_oct gt; ___ gt; enlightenment-devel mailing list gt; enlightenment-devel@lists.sourceforge.net gt; https://lists.sourceforge.net/lists/listinfo/enlightenment-devel gt; gt; gt; -- gt; Everyone hates slow websites. So do we. gt; Make your web apps faster with AppDynamics gt; Download AppDynamics Lite for free today: gt; http://p.sf.net/sfu/appdyn_sfd2d_oct gt; ___ gt; enlightenment-devel mailing list gt; enlightenment-devel@lists.sourceforge.net gt; https://lists.sourceforge.net/lists/listinfo/enlightenment-devel gt;
Re: [E-devel] E SVN: hermet IN trunk/evas/src/lib: . canvas include
HI, Daniel. Yeh i missed since 1.8 for eos. will added it. But I didn't forget Vincent. I will update NEWS and Changes soon when features are completed. -Regards, Hermet- -Original Message- From: daniel.za...@samsung.comlt;daniel.za...@samsung.comgt; To: lt;enlightenment-devel@lists.sourceforge.netgt;; Cc: Sent: 2012-10-23 (화) 17:47:15 Subject: Re: [E-devel] E SVN: hermet IN trunk/evas/src/lib: . canvas include Hermet, you have to revert ... you forgot the @since 1.8 for the Eo defines and Vincent will kill you ;-) On 10/23/2012 10:44 AM, Enlightenment SVN wrote: gt; Log: gt; evas/proxy - added 2 more apis. not enough yet. will fix them soon. gt; gt; evas_object_image_source_events_set/get gt; gt; gt; gt; Author: hermet gt; Date: 2012-10-23 01:44:11 -0700 (Tue, 23 Oct 2012) gt; New Revision: 78361 gt; Trac: http://trac.enlightenment.org/e/changeset/78361 gt; gt; Modified: gt; trunk/evas/src/lib/Evas.h trunk/evas/src/lib/canvas/evas_events.c trunk/evas/src/lib/canvas/evas_object_image.c trunk/evas/src/lib/include/evas_private.h gt; gt; Modified: trunk/evas/src/lib/Evas.h gt; === gt; --- trunk/evas/src/lib/Evas.h 2012-10-23 07:25:29 UTC (rev 78360) gt; +++ trunk/evas/src/lib/Evas.h 2012-10-23 08:44:11 UTC (rev 78361) gt; @@ -9160,6 +9160,44 @@ gt; EAPI Eina_Bool evas_object_image_source_visible_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); gt; gt; /** gt; + * Set whether an Evas object is to source events. gt; + * gt; + * @param obj Proxy (image) object. gt; + * @param source whether @p obj is to pass events (@c EINA_TRUE) or not gt; + * (@c EINA_FALSE) gt; + * gt; + * Set whether an Evas object is to repeat events to source. gt; + * gt; + * If @p source is @c EINA_TRUE, it will make events on @p obj to also be gt; + * repeated for the source object (see evas_object_image_source_set()). Even the gt; + * @p obj and source geometries are different, the event position will be gt; + * transformed to the source object's space. gt; + * gt; + * If @p source is @c EINA_FALSE, events occurring on @p obj will be gt; + * processed only on it. gt; + * gt; + * @see evas_object_image_source_get() gt; + * @see evas_object_image_source_visible_set() gt; + * @see evas_object_source_events_set() gt; + * @since 1.8 gt; + */ gt; +EAPI void evas_object_image_source_events_set(Evas_Object *obj, Eina_Bool source) EINA_ARG_NONNULL(1); gt; + gt; +/** gt; + * Determine whether an object is set to source events. gt; + * gt; + * @param obj Proxy (image) object. gt; + * @return source whether @p obj is set to source events (@c EINA_TRUE) or not gt; + * (@c EINA_FALSE) gt; + * gt; + * @see evas_object_image_source_set() gt; + * @see evas_object_image_source_visible_set() gt; + * @see evas_object_source_events_set() gt; + * @since 1.8 gt; + */ gt; +EAPI Eina_Bool evas_object_image_source_events_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); gt; + gt; +/** gt; * Check if a file extension may be supported by @ref Evas_Object_Image. gt; * gt; * @param file The file to check gt; @@ -18047,6 +18085,8 @@ gt; EVAS_OBJ_IMAGE_SUB_ID_ANIMATED_FRAME_SET, gt; EVAS_OBJ_IMAGE_SUB_ID_SOURCE_VISIBLE_SET, gt; EVAS_OBJ_IMAGE_SUB_ID_SOURCE_VISIBLE_GET, gt; + EVAS_OBJ_IMAGE_SUB_ID_SOURCE_EVENTS_SET, gt; + EVAS_OBJ_IMAGE_SUB_ID_SOURCE_EVENTS_GET, gt; EVAS_OBJ_IMAGE_SUB_ID_LAST gt; }; gt; gt; @@ -18151,6 +18191,28 @@ gt; #define evas_obj_image_source_visible_get(visible) EVAS_OBJ_IMAGE_ID(EVAS_OBJ_IMAGE_SUB_ID_SOURCE_VISIBLE_GET), EO_TYPECHECK(Eina_Bool *, visible) gt; gt; /** gt; + * @def evas_obj_image_source_events_set gt; + * gt; + * Set events to be repeated to the source object. gt; + * gt; + * @param[in] source in gt; + * gt; + * @see evas_object_image_source_events_get gt; + */ gt; +#define evas_obj_image_source_events_set(source) EVAS_OBJ_IMAGE_ID(EVAS_OBJ_IMAGE_SUB_ID_SOURCE_EVENTS_SET), EO_TYPECHECK(Eina_Bool, source) gt; + gt; +/** gt; + * @def evas_obj_image_source_events_get gt; + * gt; + * Get the state of the source event. gt; + * gt; + * @param[out] source out gt; + * gt; + * @see evas_obj_image_source_event_set gt; + */ gt; +#define evas_obj_image_source_events_get(source) EVAS_OBJ_IMAGE_ID(EVAS_OBJ_IMAGE_SUB_ID_SOURCE_EVENTS_GET), EO_TYPECHECK(Eina_Bool *, source) gt; + gt; +/** gt; * @def evas_obj_image_border_set gt; * @since 1.8 gt; * gt; gt; Modified: trunk/evas/src/lib/canvas/evas_events.c gt; === gt; --- trunk/evas/src/lib/canvas/evas_events.c 2012-10-23 07:25:29 UTC (rev 78360) gt; +++ trunk/evas/src/lib/canvas/evas_events.c 2012-10-23 08:44:11 UTC (rev 78361) gt; @@ -4,7 +4,7 @@ gt; static Eina_List * gt; _evas_event_object_list_in_get(Evas *eo_e, Eina_List *in, gt; const Eina_Inlist *list, Evas_Object *stop, gt; - int x, int y, int *no_rep); gt; + int x, int y, int *no_rep, Eina_Bool
Re: [E-devel] E SVN: hermet IN trunk/evas/src/lib: . canvas include
Hi, On Tue, Oct 23, 2012 at 10:16:15AM +0900, ChunEon Park wrote: Hi, I don't know about aborting. it doesn't happened here. please rebuild evas fully again or give me the scenario . And to show only proxy, Don't hide source. just call evas_object_image_source_visible_set(source, EINA_TRUE); ex) evas_object_image_source_visible_set(source, EINA_TRUE); evas_object_show(proxy); I suppose you meant: evas_object_image_source_visible_set(proxy, EINA_FALSE); evas_object_show(proxy); Toggle the visibility of the source of a proxy is what mostly what you want, unless your source is also a proxy of something else. Regards... -- Leandro Dorileo ProFUSION embedded systems http://profusion.mobi -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] ecore_x_screensaver_set wtf
Hi, It seems that as workaround I can use disabling DPMS support in ecore. How it is related? I still believe that setting screensaver in screensaver event handler is wrong idea and it is expected to receive such event. Could that be related to Xorg version? I use quite recent version here. Best regards, Tomas Cech Sleep_Walker signature.asc Description: Digital signature -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] eina_stringshare small speed up
Hi, I wanted to try to speed up eina_stringshare_del, but I ended touching eina_stringshare_add first. p0.patch: _eina_share_common_find_hash(…) merges _eina_share_common_cmp and calls to eina_rbtree_inline_lookup p1.patch: eina_stringshare API treat big strings first and avoid a call from eina_stringshare_add Cheers, Jérémy diff --git a/eina/src/lib/eina_share_common.c b/eina/src/lib/eina_share_common.c index 91ad0db..247fae7 100644 --- a/eina/src/lib/eina_share_common.c +++ b/eina/src/lib/eina_share_common.c @@ -334,17 +334,6 @@ static void _eina_share_common_population_head_del( } #endif -static int -_eina_share_common_cmp(const Eina_Share_Common_Head *ed, - const int *hash, - __UNUSED__ int length, - __UNUSED__ void *data) -{ - EINA_MAGIC_CHECK_SHARE_COMMON_HEAD(ed, , 0); - - return ed-hash - *hash; -} - static Eina_Rbtree_Direction _eina_share_common_node(const Eina_Share_Common_Head *left, const Eina_Share_Common_Head *right, @@ -511,12 +500,22 @@ _eina_share_common_head_remove_node(Eina_Share_Common_Head *head, return 0; } -static Eina_Share_Common_Head * +static inline Eina_Share_Common_Head * _eina_share_common_find_hash(Eina_Share_Common_Head *bucket, int hash) { - return (Eina_Share_Common_Head *)eina_rbtree_inline_lookup - (EINA_RBTREE_GET(bucket), hash, 0, - EINA_RBTREE_CMP_KEY_CB(_eina_share_common_cmp), NULL); + int result; + const Eina_Share_Common_Head *root = bucket; + + while (root) + { +EINA_MAGIC_CHECK_SHARE_COMMON_HEAD(root, , 0); +result = root-hash - hash; +if (result == 0) return (Eina_Share_Common_Head*) root; + +root = (Eina_Share_Common_Head*)EINA_RBTREE_GET(root)-son[result 0 ? 0 : 1]; + } + + return NULL; } static Eina_Share_Common_Node * diff --git a/eina/src/lib/eina_stringshare.c b/eina/src/lib/eina_stringshare.c index 2a457f4..9d48f5a 100644 --- a/eina/src/lib/eina_stringshare.c +++ b/eina/src/lib/eina_stringshare.c @@ -582,28 +582,17 @@ eina_stringshare_del(Eina_Stringshare *str) return; /* special cases */ - if (str[0] == '\0') - slen = 0; - else if (str[1] == '\0') - slen = 1; - else if (str[2] == '\0') - slen = 2; - else if (str[3] == '\0') - slen = 3; - else - slen = 4; /* handled later */ - - if (slen 2) + if (str[0] == '\0' || str[1] == '\0') return; - else if (slen 4) + else if (str[2] == '\0' || str[3] == '\0') { +slen = (str[2] == '\0') ? 2 : 3; eina_share_common_population_del(stringshare_share, slen); eina_lock_take(_mutex_small); _eina_stringshare_small_del(str, slen); eina_lock_release(_mutex_small); return; } - if (!eina_share_common_del(stringshare_share, str)) CRITICAL(EEEK trying to del non-shared stringshare \%s\, str); } @@ -611,45 +600,50 @@ eina_stringshare_del(Eina_Stringshare *str) EAPI Eina_Stringshare * eina_stringshare_add_length(const char *str, unsigned int slen) { + const char *s; + if (!str) return NULL; - else if (slen == 0) - return ; + + if (slen 3) + return eina_share_common_add_length(stringshare_share, str, slen * + sizeof(char), sizeof(char)); else if (slen == 1) return (Eina_Stringshare *) _eina_stringshare_single + ((*str) 1); - else if (slen 4) - { -const char *s; + else if (slen = 0) + return ; -eina_lock_take(_mutex_small); -s = _eina_stringshare_small_add(str, slen); -eina_lock_release(_mutex_small); -return s; - } + eina_lock_take(_mutex_small); + s = _eina_stringshare_small_add(str, slen); + eina_lock_release(_mutex_small); - return eina_share_common_add_length(stringshare_share, str, slen * - sizeof(char), sizeof(char)); + return s; } EAPI Eina_Stringshare * eina_stringshare_add(const char *str) { int slen; + const char *s; + if (!str) return NULL; - if (str[0] == '\0') - slen = 0; - else if (str[1] == '\0') - slen = 1; - else if (str[2] == '\0') - slen = 2; - else if (str[3] == '\0') - slen = 3; - else - slen = 3 + (int)strlen(str + 3); + slen = (int)strlen(str); - return eina_stringshare_add_length(str, slen); + if (slen 3) + return eina_share_common_add_length(stringshare_share, str, slen * + sizeof(char), sizeof(char)); + else if (slen == 1) + return (Eina_Stringshare *) _eina_stringshare_single + ((*str) 1); + else if (slen = 0) + return ; + + eina_lock_take(_mutex_small); + s = _eina_stringshare_small_add(str, slen); + eina_lock_release(_mutex_small); + + return s; } EAPI Eina_Stringshare * @@ -726,41 +720,28 @@ EAPI Eina_Stringshare *
Re: [E-devel] eina_stringshare small speed up
On Tue, Oct 23, 2012 at 7:30 PM, Jérémy Zurcher jer...@asynk.ch wrote: Hi, I wanted to try to speed up eina_stringshare_del, but I ended touching eina_stringshare_add first. p0.patch: _eina_share_common_find_hash(…) merges _eina_share_common_cmp and calls to eina_rbtree_inline_lookup p1.patch: eina_stringshare API treat big strings first and avoid a call from eina_stringshare_add p1 breaks del accounting of population, while I don't think it will make any difference: --- a/eina/src/lib/eina_stringshare.c +++ b/eina/src/lib/eina_stringshare.c @@ -582,28 +582,17 @@ eina_stringshare_del(Eina_Stringshare *str) return; /* special cases */ - if (str[0] == '\0') - slen = 0; - else if (str[1] == '\0') - slen = 1; - else if (str[2] == '\0') - slen = 2; - else if (str[3] == '\0') - slen = 3; - else - slen = 4; /* handled later */ - - if (slen 2) + if (str[0] == '\0' || str[1] == '\0') return; - else if (slen 4) + else if (str[2] == '\0' || str[3] == '\0') { +slen = (str[2] == '\0') ? 2 : 3; eina_share_common_population_del(stringshare_share, slen); eina_lock_take(_mutex_small); _eina_stringshare_small_del(str, slen); eina_lock_release(_mutex_small); return; } eina_share_common_population_del() will not run for sizes 0 and 1. There are some coding style issues and going over some abstraction such as accessing the RB tree in order to speed up. From the images the speed up seems quite marginal and I wonder how you tested it. We provide the e17 benchmark that uses real-word strings, it's better than some random synthetic test. Did you run this? could you check with that? note: AFAIR the biggest impact of the stringshare was the locks to make it multithread safe :-/ -- Gustavo Sverzut Barbieri http://profusion.mobi embedded systems -- MSN: barbi...@gmail.com Skype: gsbarbieri Mobile: +55 (19) 9225-2202 -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [PATCH][Elementary] elm-web: Extracted common code.
On Mon, Oct 22, 2012 at 10:15 PM, ryuan Choi ryuan.c...@gmail.com wrote: In the view point of basic behavior, right, they should be almost same. Now, There are three reasons not to keep the same structure 1. WebKit2/efl ignores or choose different(better?) API names from WebKit1/Efl. It's sad but true. For example, - reload_bypass_cache instead of reload_full ( https://bugs.webkit.org/show_bug.cgi?id=89413#c4 ) I dislike this fscking long name, but anyway... if you change in one, change everywhere. - WebKit2/Efl decides to use `url` instead of `uri` ( http://lists.webkit.org/pipermail/webkit-efl/2012-October/000312.html ) this is for webkit2... how about webkit1? Why webkit2 did not follow webkit1? - WebKit2/Efl does not expose methods of structure. it should, otherwise how do you plan to extend it? If allowed, I want to reduce these by refactoring WebKit1/Efl API. I'm fine with that, but they use the same base, with the smart class being common in some basic points such as setting location, navigation, etc. 2. Some APIs depends on architecture. Because of process model, WebKit2/Efl has new data type, ewk_context to manage web process, and different setting APIs. WebKit1 provides setting for each ewk_view, but WebKit2 provides it for each ewk_context. what is the ewk_context? Is it shared by multiple views? is it bound to a single ewk_view? Indeed, some of APIs such as ewk_frame_script_execute should be changed to asynchronous model in WebKit2 it should, yes. Also the webkit itself should avoid these synchronous API as we always complained. Same for alert()/confirm() handling. 3. WebKit2/Efl can not have some features of WebKit1/Efl. WebKit2 is common ports and WebKit2/Efl just provides the wrapper of WebKit2 C API. On the other hand, WebKit1/Efl uses more functionality of WebCore. For example, WebKit1 has a lot of ewk_frame APIs, ewk_view_tiled for better scrolling. so what? I don't get it. If it's use more WebCore, it doesn't matter as it's hidden. If you can't manipulate or access frames, just don't return them. There is no way the user creates ewk_frame from outside, they all come from ewk_view. as for ewk_view_tiled, you can keep that without problems. It's all internal anyway, you can instantiate the single or tiled backing store. It's independent, as it would be webkit2. How is doing this architecture and management of WebKit2/EFL? It seems that these people don't care much about the EFL part of the port, as we do not see them talking in our lists and so on... as the port is a binding of WebKit with EFL, I'd expect more collaboration with the EFL. -- Gustavo Sverzut Barbieri http://profusion.mobi embedded systems -- MSN: barbi...@gmail.com Skype: gsbarbieri Mobile: +55 (19) 9225-2202 -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] E SVN: hermet IN trunk/evas/src/lib: . canvas include
just add this to src/examples. Daniel Juyung Seo (SeoZ) On Oct 24, 2012 1:23 AM, ChunEon Park her...@naver.com wrote: Sorry. totally I mistook for your reply. Here is the actually example for this API. ex) Evas_Object *btn; Evas_Object *img; ... evas_object_show(btn); evas_object_show(img); evas_object_image_source_set(img, btn); evas_object_image_source_visible_set(img, EINA_FALSE); //here is a more API added. evas_object_image_source_event_set(img, EINA_TRUE); //this img will pass it's events to btn. Only the final state will be available for source visiblity, If the multiple proxies are racing to set their shared source visibility. And doc and example needs to be updated. Thank you. -Regards, Hermet- -Original Message- From: Rafael Antognollilt;antogno...@gmail.comgt; To: Enlightenment developer list lt;enlightenment-devel@lists.sourceforge.netgt;; Cc: Sent: 2012-10-23 (화) 20:04:15 Subject: Re: [E-devel] E SVN: hermet IN trunk/evas/src/lib: . canvas include Hello Hermet, The feature seems nice, good work! But I am still not sure how to control the source object from different proxies. Will there be any conflict if different proxies set the source to different visible states? Is that expected or, if it's wrong to do it, maybe this should be added to the docs? On Mon, Oct 22, 2012 at 11:42 PM, ChunEon Park lt;hermetgt;@naver.comgt; wrote: gt; ahh mistake. gt; gt; gt; do FALSE. gt; gt; evas_object_image_source_visible_set(source, EINA_FALSE); gt; gt; gt; gt; gt; -Regards, Hermet- gt; gt; -Original Message- gt; From: ChunEon Parklt;her...@naver.comgt; gt; To: Enlightenment developer list lt;enlightenment-devel@lists.sourceforge.netgt;; gt; Cc: gt; Sent: 2012-10-23 (화) 10:16:15 gt; Subject: Re: [E-devel]E SVN: hermet IN trunk/evas/src/lib: . canvas include gt; gt; Hi, gt; I don't know about aborting. it doesn't happened here. gt; please rebuild evas fully again or give me the scenario . gt; gt; gt; And to show only proxy, gt; Don't hide source. gt; just call evas_object_image_source_visible_set(source, EINA_TRUE); gt; gt; gt; gt; ex) gt; gt; evas_object_image_source_visible_set(source, EINA_TRUE); gt; evas_object_show(proxy); gt; gt; gt; gt; gt; gt; -Regards, Hermet- gt; gt; -Original Message- gt; From: Bruno Dillylt;bdi...@profusion.mobigt; gt; To: lt;enlightenment-devel@lists.sourceforge.netgt;; gt; Cc: gt; Sent: 2012-10-23 (화) 01:47:22 gt; Subject: Re: [E-devel] E SVN: hermet IN trunk/evas/src/lib: . canvas include gt; gt; On Thu, Oct 18, 2012 at 8:30 AM, Enlightenment SVN gt; lt;no-replygt;@enlightenment.orggt; wrote: gt; gt; Log: gt; gt; evas/proxy - +source visible set APIs gt; gt; gt; gt; Need to care some more cases. will be upstreamed additionally. gt; gt; gt; gt; gt; gt; gt; gt; Author: hermet gt; gt; Date: 2012-10-18 04:30:04 -0700 (Thu, 18 Oct 2012) gt; gt; New Revision: 78180 gt; gt; Trac: http://trac.enlightenment.org/e/changeset/78180 gt; gt; gt; gt; Hey, Hermet gt; gt; it looks interesting. I'm trying it on ephysics, but I got the following error: gt; gt; ERRlt;12565gt;:eo eo.c:405 _eo_dov_internal() Can't find func for op 1b6 gt; (Evas_Object_Image:EVAS_OBJ_IMAGE_SUB_ID_SOURCE_VISIBLE_SET) for class gt; 'Evas_Object_Smart'. Aborting. gt; gt; I'm trying to keep the source invisible and proxy visible doing: gt; evas_object_image_source_visible_set(source, EINA_TRUE); gt; evas_object_hide(source); gt; evas_object_show(proxy); gt; gt; And everything is hidden. gt; gt; The source is a smart object, an elm_image. gt; gt; -- gt; Bruno Dilly gt; Senior Developer gt; ProFUSION embedded systems gt; http://profusion.mobi gt; gt; -- gt; Everyone hates slow websites. So do we. gt; Make your web apps faster with AppDynamics gt; Download AppDynamics Lite for free today: gt; http://p.sf.net/sfu/appdyn_sfd2d_oct gt; ___ gt; enlightenment-devel mailing list gt; enlightenment-devel@lists.sourceforge.net gt; https://lists.sourceforge.net/lists/listinfo/enlightenment-devel gt; gt; gt; -- gt; Everyone hates slow websites. So do we. gt; Make your web apps faster with AppDynamics gt; Download AppDynamics Lite for free today: gt; http://p.sf.net/sfu/appdyn_sfd2d_oct gt; ___ gt; enlightenment-devel mailing list gt; enlightenment-devel@lists.sourceforge.net gt; https://lists.sourceforge.net/lists/listinfo/enlightenment-devel gt; -- gt; Everyone hates slow websites. So do we. gt; Make
Re: [E-devel] [PATCH][Elementary] elm-web: Extracted common code.
yeah we need colaboration. i think this is a good start. Daniel Juyung Seo (SeoZ) On Oct 24, 2012 6:38 AM, Gustavo Sverzut Barbieri barbi...@profusion.mobi wrote: On Mon, Oct 22, 2012 at 10:15 PM, ryuan Choi ryuan.c...@gmail.com wrote: In the view point of basic behavior, right, they should be almost same. Now, There are three reasons not to keep the same structure 1. WebKit2/efl ignores or choose different(better?) API names from WebKit1/Efl. It's sad but true. For example, - reload_bypass_cache instead of reload_full ( https://bugs.webkit.org/show_bug.cgi?id=89413#c4 ) I dislike this fscking long name, but anyway... if you change in one, change everywhere. - WebKit2/Efl decides to use `url` instead of `uri` ( http://lists.webkit.org/pipermail/webkit-efl/2012-October/000312.html ) this is for webkit2... how about webkit1? Why webkit2 did not follow webkit1? - WebKit2/Efl does not expose methods of structure. it should, otherwise how do you plan to extend it? If allowed, I want to reduce these by refactoring WebKit1/Efl API. I'm fine with that, but they use the same base, with the smart class being common in some basic points such as setting location, navigation, etc. 2. Some APIs depends on architecture. Because of process model, WebKit2/Efl has new data type, ewk_context to manage web process, and different setting APIs. WebKit1 provides setting for each ewk_view, but WebKit2 provides it for each ewk_context. what is the ewk_context? Is it shared by multiple views? is it bound to a single ewk_view? Indeed, some of APIs such as ewk_frame_script_execute should be changed to asynchronous model in WebKit2 it should, yes. Also the webkit itself should avoid these synchronous API as we always complained. Same for alert()/confirm() handling. 3. WebKit2/Efl can not have some features of WebKit1/Efl. WebKit2 is common ports and WebKit2/Efl just provides the wrapper of WebKit2 C API. On the other hand, WebKit1/Efl uses more functionality of WebCore. For example, WebKit1 has a lot of ewk_frame APIs, ewk_view_tiled for better scrolling. so what? I don't get it. If it's use more WebCore, it doesn't matter as it's hidden. If you can't manipulate or access frames, just don't return them. There is no way the user creates ewk_frame from outside, they all come from ewk_view. as for ewk_view_tiled, you can keep that without problems. It's all internal anyway, you can instantiate the single or tiled backing store. It's independent, as it would be webkit2. How is doing this architecture and management of WebKit2/EFL? It seems that these people don't care much about the EFL part of the port, as we do not see them talking in our lists and so on... as the port is a binding of WebKit with EFL, I'd expect more collaboration with the EFL. -- Gustavo Sverzut Barbieri http://profusion.mobi embedded systems -- MSN: barbi...@gmail.com Skype: gsbarbieri Mobile: +55 (19) 9225-2202 -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] esvg and videos
On Wed, Oct 24, 2012 at 8:55 AM, Vincent Torri vincent.to...@gmail.com wrote: esvg can now play videos. I have attached a small video that show that with animated svg with a movie inside it Nooo ! Noo ! You just spoiled all Jorge presentation during EFL dev day ! Or maybe it's just a teaser ? To check out, join us in Barcelona ! :-D -- Cedric BAIL -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [patch][elementary] genlist - use displayed item for focus chain on access mode.
dear all, hello. it seems there was no objections, the patch in svn r78378. thanks. cordially, shinwoo kim. 2012/10/17 Kim Shinwoo kimcinoo@gmail.com dear all, hello. genlist could have LOTS of items. so it would be better to use only displayed items for the focus chain. please check the attachment and give feedback. thanks. cordially, shinwoo kim. -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [PATCH][Evas] improve the evas_object_image_source_visible_set docs
Much better. in, 78379 Thank you :) -Regards, Hermet- -Original Message- From: Leandro Dorileolt;dori...@profusion.mobigt; To: lt;enlightenment-devel@lists.sourceforge.netgt;; Cc: Sent: 2012-10-24 (수) 01:11:39 Subject: [E-devel] [PATCH][Evas] improve the evas_object_image_source_visible_set docs Hi, Attached goes a patch improving the evas_object_image_source_visible_set documentation. Regards, -- Leandro Dorileo ProFUSION embedded systems http://profusion.mobi -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [patch][elementary] genlist - use displayed item for focus chain on access mode.
Yes this is a good practise :) I have only one comment. Use ELM_RECTS_INTERSECT for region compare. Daniel Juyung Seo (SeoZ) On Wed, Oct 24, 2012 at 10:09 AM, Kim Shinwoo kimcinoo@gmail.com wrote: dear all, hello. it seems there was no objections, the patch in svn r78378. thanks. cordially, shinwoo kim. 2012/10/17 Kim Shinwoo kimcinoo@gmail.com dear all, hello. genlist could have LOTS of items. so it would be better to use only displayed items for the focus chain. please check the attachment and give feedback. thanks. cordially, shinwoo kim. -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [PATCH][Elementary] elm-web: Extracted common code.
2012/10/24 Gustavo Sverzut Barbieri barbi...@profusion.mobi On Mon, Oct 22, 2012 at 10:15 PM, ryuan Choi ryuan.c...@gmail.com wrote: In the view point of basic behavior, right, they should be almost same. Now, There are three reasons not to keep the same structure 1. WebKit2/efl ignores or choose different(better?) API names from WebKit1/Efl. It's sad but true. For example, - reload_bypass_cache instead of reload_full ( https://bugs.webkit.org/show_bug.cgi?id=89413#c4 ) I dislike this fscking long name, but anyway... if you change in one, change everywhere. Sure, if I can. Now, I think that I must sync with elm-web and eve when I change these API of ewebkit. Do I need to check any more components? - WebKit2/Efl decides to use `url` instead of `uri` ( http://lists.webkit.org/pipermail/webkit-efl/2012-October/000312.html ) this is for webkit2... how about webkit1? Why webkit2 did not follow webkit1? As you mentioned below, I think that WebKit/Efl developers does not care much about EFL side. It's the one of reasons which I decide to dive in EFL community. Now, many decision of WebKit/Efl are discussed in webkit-...@lists.webkit.org ( http://lists.webkit.org/mailman/listinfo/webkit-efl). I hope that more EFL peoples get interested in WebKit/Efl because most developers of WebKit/Efl are newbies in EFL side. - WebKit2/Efl does not expose methods of structure. it should, otherwise how do you plan to extend it? Sorry, It's my wrong comment. I mean that WebKit2/Efl just expose the methods instead of whole structure. please ignore this. If allowed, I want to reduce these by refactoring WebKit1/Efl API. I'm fine with that, but they use the same base, with the smart class being common in some basic points such as setting location, navigation, etc. Sorry, I can not understand fully. I want to reduce the differences. I hope that Ewk_View_Smart_Class and Ewk_View_Smart_Data are eventually same in both ewebkit and ewebkit2. 2. Some APIs depends on architecture. Because of process model, WebKit2/Efl has new data type, ewk_context to manage web process, and different setting APIs. WebKit1 provides setting for each ewk_view, but WebKit2 provides it for each ewk_context. what is the ewk_context? Is it shared by multiple views? is it bound to a single ewk_view? Yes, it can be shared by multiple views. ewk_context and ewk_view have one to many relations. And two ewk_context means two web processes. Application may decide process model. Indeed, some of APIs such as ewk_frame_script_execute should be changed to asynchronous model in WebKit2 it should, yes. Also the webkit itself should avoid these synchronous API as we always complained. Same for alert()/confirm() handling. I hope also. But now it makes a gap between ewebkit and ewebkit2. I hope that we solve all issues step by step on more collaboration with EFL. 3. WebKit2/Efl can not have some features of WebKit1/Efl. WebKit2 is common ports and WebKit2/Efl just provides the wrapper of WebKit2 C API. On the other hand, WebKit1/Efl uses more functionality of WebCore. For example, WebKit1 has a lot of ewk_frame APIs, ewk_view_tiled for better scrolling. so what? I don't get it. If it's use more WebCore, it doesn't matter as it's hidden. If you can't manipulate or access frames, just don't return them. There is no way the user creates ewk_frame from outside, they all come from ewk_view. as for ewk_view_tiled, you can keep that without problems. It's all internal anyway, you can instantiate the single or tiled backing store. It's independent, as it would be webkit2. I just listed examples of differences between ewebkit and ewebkit2. To reduce differences of it, we may need to fix them like you mentioned. How is doing this architecture and management of WebKit2/EFL? It seems that these people don't care much about the EFL part of the port, as we do not see them talking in our lists and so on... as the port is a binding of WebKit with EFL, I'd expect more collaboration with the EFL. I absolutely agree and we must do. I already mentioned, WebKit/Efl itself has had many discussion in webkit/efl mailing list. I hope that I can see the many EFL voices when webkit/fl decides something. In addition, I will encourage my colleagues to dive in EFL community. Best Regards, Ryuan Choi -- Gustavo Sverzut Barbieri http://profusion.mobi embedded systems -- MSN: barbi...@gmail.com Skype: gsbarbieri Mobile: +55 (19) 9225-2202 -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net
Re: [E-devel] [patch][elementary] genlist - use displayed item for focus chain on access mode.
thanks for your response and information. please check commit r78380 which uses the macro ELM_RECTS_INTERSECT. cordially, shinwoo kim 2012/10/24 Daniel Juyung Seo seojuyu...@gmail.com Yes this is a good practise :) I have only one comment. Use ELM_RECTS_INTERSECT for region compare. Daniel Juyung Seo (SeoZ) On Wed, Oct 24, 2012 at 10:09 AM, Kim Shinwoo kimcinoo@gmail.com wrote: dear all, hello. it seems there was no objections, the patch in svn r78378. thanks. cordially, shinwoo kim. 2012/10/17 Kim Shinwoo kimcinoo@gmail.com dear all, hello. genlist could have LOTS of items. so it would be better to use only displayed items for the focus chain. please check the attachment and give feedback. thanks. cordially, shinwoo kim. -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel