[EGIT] [tools/erigo] master 01/01: Eo: adapt code to follow eo_do new syntax - part 3
yakov pushed a commit to branch master. http://git.enlightenment.org/tools/erigo.git/commit/?id=554c595e68639a676bd7dae3a4c1ccace3135a35 commit 554c595e68639a676bd7dae3a4c1ccace3135a35 Author: Yakov Goldberg yako...@samsung.com Date: Wed Mar 4 18:25:40 2015 +0200 Eo: adapt code to follow eo_do new syntax - part 3 --- src/lib/ffi_abstraction.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/lib/ffi_abstraction.c b/src/lib/ffi_abstraction.c index 00e05b6..56b4374 100644 --- a/src/lib/ffi_abstraction.c +++ b/src/lib/ffi_abstraction.c @@ -152,6 +152,7 @@ _ffi_eo_do(const Gui_Session *session, const Gui_Widget *wdg, const Gui_Widget_P ffi_call(cif, (void (*)()) func_pointer, result, values); ret = EINA_TRUE; } +_eo_do_end(); } end: @@ -237,6 +238,7 @@ _ffi_eo_do_get(const Gui_Session *session, const Gui_Widget *wdg, const Gui_Widg ffi_call(cif, (void (*)()) func_pointer, result, values); ret = EINA_TRUE; } +_eo_do_end(); } /* For enum type default value will be int. We need to change it to string value of current enum. */ @@ -340,7 +342,7 @@ _ffi_eo_add(const Gui_Session *session, const Gui_Widget *wdg, Eo *parent_eo) if (_eo_do_start(_eoid_, NULL, EINA_FALSE, __FILE__, __FUNCTION__, __LINE__)) { func_pointer(); -_tmp_obj = eo_finalize(); +_tmp_obj = _eo_add_end(); } ret = _tmp_obj; @@ -427,6 +429,7 @@ _ffi_eo_do_content(const Gui_Session *session, const Gui_Widget *wdg, const Gui_ ffi_call(cif, (void (*)()) func_pointer, result, values); ret = EINA_TRUE; } +_eo_do_end(); } end: @@ -546,6 +549,7 @@ _ffi_eo_item_add(const Gui_Session *session, const Gui_Widget *wdg, const Item_C { ffi_call(cif, (void (*)()) func_pointer, ret_item, values); } +_eo_do_end(); } end: --
[EGIT] [core/efl] master 01/04: ecore-drm: Fix formatting
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=f23acbac8101d89f55da3775e7118dcbc2cdfe27 commit f23acbac8101d89f55da3775e7118dcbc2cdfe27 Author: Chris Michael cp.mich...@samsung.com Date: Wed Mar 4 11:20:31 2015 -0500 ecore-drm: Fix formatting Summary: No functional changes, just formatting fixes Signed-off-by: Chris Michael cp.mich...@samsung.com --- src/lib/ecore_drm/ecore_drm_evdev.c | 11 --- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/lib/ecore_drm/ecore_drm_evdev.c b/src/lib/ecore_drm/ecore_drm_evdev.c index 054858a..3f47101 100644 --- a/src/lib/ecore_drm/ecore_drm_evdev.c +++ b/src/lib/ecore_drm/ecore_drm_evdev.c @@ -350,13 +350,18 @@ _device_pointer_motion(Ecore_Drm_Evdev *edev, struct libinput_event_pointer *eve if (edev-mouse.ix output-x) edev-mouse.dx = edev-mouse.ix = output-x; else if (edev-mouse.ix = (output-x + output-current_mode-width)) - edev-mouse.dx = - edev-mouse.ix = (output-x + output-current_mode-width - 1); + { + edev-mouse.dx = + edev-mouse.ix = (output-x + output-current_mode-width - 1); + } if (edev-mouse.iy output-y) edev-mouse.dy = edev-mouse.iy = output-y; else if (edev-mouse.iy = (output-y + output-current_mode-height)) - edev-mouse.dy = edev-mouse.iy = (output-y + output-current_mode-height - 1); + { + edev-mouse.dy = + edev-mouse.iy = (output-y + output-current_mode-height - 1); + } } ev-window = (Ecore_Window)input-dev-window; --
Re: [E-devel] [EGIT] [tools/erigo] master 01/01: Eo: adapt code to follow eo_do new syntax - part 3
Commit guidelines. Yakov, when you push commits, make sure they conform to our commit guidelines. In this case, the summary line. This is not a single instance, I've seen others too. On 03/04/2015 11:26 AM, Yakov Goldberg wrote: yakov pushed a commit to branch master. http://git.enlightenment.org/tools/erigo.git/commit/?id=554c595e68639a676bd7dae3a4c1ccace3135a35 commit 554c595e68639a676bd7dae3a4c1ccace3135a35 Author: Yakov Goldberg yako...@samsung.com Date: Wed Mar 4 18:25:40 2015 +0200 Eo: adapt code to follow eo_do new syntax - part 3 --- src/lib/ffi_abstraction.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/lib/ffi_abstraction.c b/src/lib/ffi_abstraction.c index 00e05b6..56b4374 100644 --- a/src/lib/ffi_abstraction.c +++ b/src/lib/ffi_abstraction.c @@ -152,6 +152,7 @@ _ffi_eo_do(const Gui_Session *session, const Gui_Widget *wdg, const Gui_Widget_P ffi_call(cif, (void (*)()) func_pointer, result, values); ret = EINA_TRUE; } +_eo_do_end(); } end: @@ -237,6 +238,7 @@ _ffi_eo_do_get(const Gui_Session *session, const Gui_Widget *wdg, const Gui_Widg ffi_call(cif, (void (*)()) func_pointer, result, values); ret = EINA_TRUE; } +_eo_do_end(); } /* For enum type default value will be int. We need to change it to string value of current enum. */ @@ -340,7 +342,7 @@ _ffi_eo_add(const Gui_Session *session, const Gui_Widget *wdg, Eo *parent_eo) if (_eo_do_start(_eoid_, NULL, EINA_FALSE, __FILE__, __FUNCTION__, __LINE__)) { func_pointer(); -_tmp_obj = eo_finalize(); +_tmp_obj = _eo_add_end(); } ret = _tmp_obj; @@ -427,6 +429,7 @@ _ffi_eo_do_content(const Gui_Session *session, const Gui_Widget *wdg, const Gui_ ffi_call(cif, (void (*)()) func_pointer, result, values); ret = EINA_TRUE; } +_eo_do_end(); } end: @@ -546,6 +549,7 @@ _ffi_eo_item_add(const Gui_Session *session, const Gui_Widget *wdg, const Item_C { ffi_call(cif, (void (*)()) func_pointer, ret_item, values); } +_eo_do_end(); } end: -- 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 02/04: ecore-drm: Add function to return the pointer xy of Ecore_Drm_Device
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=aabf45071cedba9e4e61d5690fb4537f11590ad2 commit aabf45071cedba9e4e61d5690fb4537f11590ad2 Author: Chris Michael cp.mich...@samsung.com Date: Wed Mar 4 11:46:22 2015 -0500 ecore-drm: Add function to return the pointer xy of Ecore_Drm_Device Summary: This adds a function (ecore_drm_device_pointer_xy_get) to we can return the mouse position inside ecore_evas_pointer_xy_get calls. This is going to be used for centering the mouse when E-Wl starts up. @feature Signed-off-by: Chris Michael cp.mich...@samsung.com --- src/lib/ecore_drm/Ecore_Drm.h| 14 ++ src/lib/ecore_drm/ecore_drm_device.c | 29 + 2 files changed, 43 insertions(+) diff --git a/src/lib/ecore_drm/Ecore_Drm.h b/src/lib/ecore_drm/Ecore_Drm.h index ed76983..10928ed 100644 --- a/src/lib/ecore_drm/Ecore_Drm.h +++ b/src/lib/ecore_drm/Ecore_Drm.h @@ -312,4 +312,18 @@ EAPI Eina_Stringshare *ecore_drm_output_model_get(Ecore_Drm_Output *output); */ EAPI Eina_Stringshare *ecore_drm_output_make_get(Ecore_Drm_Output *output); +/** + * Get the pointer position of Ecore_Drm_Device + * + * This function will give the pointer position of Ecore_Drm_Device + * + * @param dev The Ecore_Drm_Device to get pointer position for + * @param *x The parameter in which output x co-ordinate is stored + * @param *y The parameter in which output y co-ordinate is stored + * + * @ingroup Ecore_Drm_Device_Group + * @since 1.14 + */ +EAPI void ecore_drm_device_pointer_xy_get(Ecore_Drm_Device *dev, int *x, int *y); + #endif diff --git a/src/lib/ecore_drm/ecore_drm_device.c b/src/lib/ecore_drm/ecore_drm_device.c index 5d0c0bc..89c6b86 100644 --- a/src/lib/ecore_drm/ecore_drm_device.c +++ b/src/lib/ecore_drm/ecore_drm_device.c @@ -470,3 +470,32 @@ ecore_drm_device_name_get(Ecore_Drm_Device *dev) return dev-drm.name; } + +EAPI void +ecore_drm_device_pointer_xy_get(Ecore_Drm_Device *dev, int *x, int *y) +{ + Ecore_Drm_Seat *seat; + Ecore_Drm_Evdev *edev; + Eina_List *l, *ll; + + if (x) *x = 0; + if (y) *y = 0; + + /* check for valid device */ + if ((!dev) || (dev-drm.fd 0)) return; + + EINA_LIST_FOREACH(dev-seats, l, seat) + { +EINA_LIST_FOREACH(seat-devices, ll, edev) + { + if (!libinput_device_has_capability(edev-device, + LIBINPUT_DEVICE_CAP_POINTER)) + continue; + + if (x) *x = edev-mouse.dx; + if (y) *y = edev-mouse.dy; + + return; + } + } +} --
Re: [E-devel] [EGIT] [core/efl] master 01/01: Use doubles to store libinput's mouse motion
On 03/04/2015 12:20 PM, Tom Hacohen wrote: On 04/03/15 09:25, Tom Hacohen wrote: Commit guidelines. Mike, when you review commits, make sure they conform to our commit guidelines. In this case, the summary line. This is not a single instance, I've seen others too. Oops, rereading this after comments from Chris on IRC, I forgot to mention what's wrong. The problem here is the lack of the ecore drm: prefix, i.e the module prefix. Yes. That's where the confusion happened. You said Summary and I was looking at the Summary line...not the prefix line. -- Tom. On 27/02/15 15:46, Derek Foreman wrote: devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=95cb1938c22664095675ca21649856371385f393 commit 95cb1938c22664095675ca21649856371385f393 Author: Derek Foreman der...@osg.samsung.com Date: Fri Feb 27 10:40:38 2015 -0500 Use doubles to store libinput's mouse motion Summary: Using can result in motion being completely discarded. Since we only need integer data, we also only actually forward on an event when the mouse moves more than a full unit. Reviewers: zmike, devilhorns Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D2062 --- src/lib/ecore_drm/ecore_drm_evdev.c | 75 +-- src/lib/ecore_drm/ecore_drm_private.h | 3 +- 2 files changed, 47 insertions(+), 31 deletions(-) diff --git a/src/lib/ecore_drm/ecore_drm_evdev.c b/src/lib/ecore_drm/ecore_drm_evdev.c index 8320c30..054858a 100644 --- a/src/lib/ecore_drm/ecore_drm_evdev.c +++ b/src/lib/ecore_drm/ecore_drm_evdev.c @@ -347,15 +347,16 @@ _device_pointer_motion(Ecore_Drm_Evdev *edev, struct libinput_event_pointer *eve if ((output = edev-output)) { -if (edev-mouse.x output-x) - edev-mouse.x = output-x; -else if (edev-mouse.x = (output-x + output-current_mode-width)) - edev-mouse.x = (output-x + output-current_mode-width - 1); - -if (edev-mouse.y output-y) - edev-mouse.y = output-y; -else if (edev-mouse.y = (output-y + output-current_mode-height)) - edev-mouse.y = (output-y + output-current_mode-height - 1); +if (edev-mouse.ix output-x) + edev-mouse.dx = edev-mouse.ix = output-x; +else if (edev-mouse.ix = (output-x + output-current_mode-width)) + edev-mouse.dx = + edev-mouse.ix = (output-x + output-current_mode-width - 1); + +if (edev-mouse.iy output-y) + edev-mouse.dy = edev-mouse.iy = output-y; +else if (edev-mouse.iy = (output-y + output-current_mode-height)) + edev-mouse.dy = edev-mouse.iy = (output-y + output-current_mode-height - 1); } ev-window = (Ecore_Window)input-dev-window; @@ -367,8 +368,8 @@ _device_pointer_motion(Ecore_Drm_Evdev *edev, struct libinput_event_pointer *eve _device_modifiers_update(edev); ev-modifiers = edev-xkb.modifiers; - ev-x = edev-mouse.x; - ev-y = edev-mouse.y; + ev-x = edev-mouse.ix; + ev-y = edev-mouse.iy; ev-root.x = ev-x; ev-root.y = ev-y; @@ -393,10 +394,15 @@ _device_handle_pointer_motion(struct libinput_device *device, struct libinput_ev if (!(edev = libinput_device_get_user_data(device))) return; - edev-mouse.x += libinput_event_pointer_get_dx(event); - edev-mouse.y += libinput_event_pointer_get_dy(event); + edev-mouse.dx += libinput_event_pointer_get_dx(event); + edev-mouse.dy += libinput_event_pointer_get_dy(event); - _device_pointer_motion(edev, event); + if (floor(edev-mouse.dx) == edev-mouse.ix + floor(edev-mouse.dy) == edev-mouse.iy) return; + + edev-mouse.ix = edev-mouse.dx; + edev-mouse.iy = edev-mouse.dy; + _device_pointer_motion(edev, event); } static void @@ -406,13 +412,16 @@ _device_handle_pointer_motion_absolute(struct libinput_device *device, struct li if (!(edev = libinput_device_get_user_data(device))) return; - edev-mouse.x = - libinput_event_pointer_get_absolute_x_transformed(event, + edev-mouse.dx = + libinput_event_pointer_get_absolute_x_transformed(event, edev-output-current_mode-width); - edev-mouse.y = - libinput_event_pointer_get_absolute_y_transformed(event, + edev-mouse.dy = + libinput_event_pointer_get_absolute_y_transformed(event, edev-output-current_mode-height); + if (floor(edev-mouse.dx) == edev-mouse.ix + floor(edev-mouse.dy) == edev-mouse.iy) return; + _device_pointer_motion(edev, event); } @@ -447,8 +456,8 @@ _device_handle_button(struct libinput_device *device, struct libinput_event_poin _device_modifiers_update(edev);
Re: [E-devel] [EGIT] [tools/erigo] master 01/01: Eo: adapt code to follow eo_do new syntax - part 3
On Wed, Mar 4, 2015 at 4:56 PM, Christopher Michael cpmich...@osg.samsung.com wrote: Commit guidelines. Yakov, when you push commits, make sure they conform to our commit guidelines. In this case, the summary line. This is not a single instance, I've seen others too. This one looks pretty good to me :) Don't see a problem. On 03/04/2015 11:26 AM, Yakov Goldberg wrote: yakov pushed a commit to branch master. http://git.enlightenment.org/tools/erigo.git/commit/?id=554c595e68639a676bd7dae3a4c1ccace3135a35 commit 554c595e68639a676bd7dae3a4c1ccace3135a35 Author: Yakov Goldberg yako...@samsung.com Date: Wed Mar 4 18:25:40 2015 +0200 Eo: adapt code to follow eo_do new syntax - part 3 --- src/lib/ffi_abstraction.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/lib/ffi_abstraction.c b/src/lib/ffi_abstraction.c index 00e05b6..56b4374 100644 --- a/src/lib/ffi_abstraction.c +++ b/src/lib/ffi_abstraction.c @@ -152,6 +152,7 @@ _ffi_eo_do(const Gui_Session *session, const Gui_Widget *wdg, const Gui_Widget_P ffi_call(cif, (void (*)()) func_pointer, result, values); ret = EINA_TRUE; } +_eo_do_end(); } end: @@ -237,6 +238,7 @@ _ffi_eo_do_get(const Gui_Session *session, const Gui_Widget *wdg, const Gui_Widg ffi_call(cif, (void (*)()) func_pointer, result, values); ret = EINA_TRUE; } +_eo_do_end(); } /* For enum type default value will be int. We need to change it to string value of current enum. */ @@ -340,7 +342,7 @@ _ffi_eo_add(const Gui_Session *session, const Gui_Widget *wdg, Eo *parent_eo) if (_eo_do_start(_eoid_, NULL, EINA_FALSE, __FILE__, __FUNCTION__, __LINE__)) { func_pointer(); -_tmp_obj = eo_finalize(); +_tmp_obj = _eo_add_end(); } ret = _tmp_obj; @@ -427,6 +429,7 @@ _ffi_eo_do_content(const Gui_Session *session, const Gui_Widget *wdg, const Gui_ ffi_call(cif, (void (*)()) func_pointer, result, values); ret = EINA_TRUE; } +_eo_do_end(); } end: @@ -546,6 +549,7 @@ _ffi_eo_item_add(const Gui_Session *session, const Gui_Widget *wdg, const Item_C { ffi_call(cif, (void (*)()) func_pointer, ret_item, values); } +_eo_do_end(); } end: -- 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
Re: [E-devel] [EGIT] [core/efl] master 01/01: Use doubles to store libinput's mouse motion
On 04/03/15 17:31, Christopher Michael wrote: On 03/04/2015 12:20 PM, Tom Hacohen wrote: On 04/03/15 09:25, Tom Hacohen wrote: Commit guidelines. Mike, when you review commits, make sure they conform to our commit guidelines. In this case, the summary line. This is not a single instance, I've seen others too. Oops, rereading this after comments from Chris on IRC, I forgot to mention what's wrong. The problem here is the lack of the ecore drm: prefix, i.e the module prefix. Yes. That's where the confusion happened. You said Summary and I was looking at the Summary line...not the prefix line. It's damn phab... :| In git lingo the summary line is the first line of the commit (subject). -- Tom. On 27/02/15 15:46, Derek Foreman wrote: devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=95cb1938c22664095675ca21649856371385f393 commit 95cb1938c22664095675ca21649856371385f393 Author: Derek Foreman der...@osg.samsung.com Date: Fri Feb 27 10:40:38 2015 -0500 Use doubles to store libinput's mouse motion Summary: Using can result in motion being completely discarded. Since we only need integer data, we also only actually forward on an event when the mouse moves more than a full unit. Reviewers: zmike, devilhorns Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D2062 --- src/lib/ecore_drm/ecore_drm_evdev.c | 75 +-- src/lib/ecore_drm/ecore_drm_private.h | 3 +- 2 files changed, 47 insertions(+), 31 deletions(-) diff --git a/src/lib/ecore_drm/ecore_drm_evdev.c b/src/lib/ecore_drm/ecore_drm_evdev.c index 8320c30..054858a 100644 --- a/src/lib/ecore_drm/ecore_drm_evdev.c +++ b/src/lib/ecore_drm/ecore_drm_evdev.c @@ -347,15 +347,16 @@ _device_pointer_motion(Ecore_Drm_Evdev *edev, struct libinput_event_pointer *eve if ((output = edev-output)) { -if (edev-mouse.x output-x) - edev-mouse.x = output-x; -else if (edev-mouse.x = (output-x + output-current_mode-width)) - edev-mouse.x = (output-x + output-current_mode-width - 1); - -if (edev-mouse.y output-y) - edev-mouse.y = output-y; -else if (edev-mouse.y = (output-y + output-current_mode-height)) - edev-mouse.y = (output-y + output-current_mode-height - 1); +if (edev-mouse.ix output-x) + edev-mouse.dx = edev-mouse.ix = output-x; +else if (edev-mouse.ix = (output-x + output-current_mode-width)) + edev-mouse.dx = + edev-mouse.ix = (output-x + output-current_mode-width - 1); + +if (edev-mouse.iy output-y) + edev-mouse.dy = edev-mouse.iy = output-y; +else if (edev-mouse.iy = (output-y + output-current_mode-height)) + edev-mouse.dy = edev-mouse.iy = (output-y + output-current_mode-height - 1); } ev-window = (Ecore_Window)input-dev-window; @@ -367,8 +368,8 @@ _device_pointer_motion(Ecore_Drm_Evdev *edev, struct libinput_event_pointer *eve _device_modifiers_update(edev); ev-modifiers = edev-xkb.modifiers; - ev-x = edev-mouse.x; - ev-y = edev-mouse.y; + ev-x = edev-mouse.ix; + ev-y = edev-mouse.iy; ev-root.x = ev-x; ev-root.y = ev-y; @@ -393,10 +394,15 @@ _device_handle_pointer_motion(struct libinput_device *device, struct libinput_ev if (!(edev = libinput_device_get_user_data(device))) return; - edev-mouse.x += libinput_event_pointer_get_dx(event); - edev-mouse.y += libinput_event_pointer_get_dy(event); + edev-mouse.dx += libinput_event_pointer_get_dx(event); + edev-mouse.dy += libinput_event_pointer_get_dy(event); - _device_pointer_motion(edev, event); + if (floor(edev-mouse.dx) == edev-mouse.ix + floor(edev-mouse.dy) == edev-mouse.iy) return; + + edev-mouse.ix = edev-mouse.dx; + edev-mouse.iy = edev-mouse.dy; + _device_pointer_motion(edev, event); } static void @@ -406,13 +412,16 @@ _device_handle_pointer_motion_absolute(struct libinput_device *device, struct li if (!(edev = libinput_device_get_user_data(device))) return; - edev-mouse.x = - libinput_event_pointer_get_absolute_x_transformed(event, + edev-mouse.dx = + libinput_event_pointer_get_absolute_x_transformed(event, edev-output-current_mode-width); - edev-mouse.y = - libinput_event_pointer_get_absolute_y_transformed(event, + edev-mouse.dy = + libinput_event_pointer_get_absolute_y_transformed(event, edev-output-current_mode-height); + if (floor(edev-mouse.dx) == edev-mouse.ix + floor(edev-mouse.dy) == edev-mouse.iy) return; + _device_pointer_motion(edev, event);
[EGIT] [core/efl] master 04/04: ecore-evas-drm: Fix function call to ecore_evas_pointer_xy_get for drm engine
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=da80ee8cc2ac17a8d7a119bf6ea5afaea5e9418c commit da80ee8cc2ac17a8d7a119bf6ea5afaea5e9418c Author: Chris Michael cp.mich...@samsung.com Date: Wed Mar 4 11:48:36 2015 -0500 ecore-evas-drm: Fix function call to ecore_evas_pointer_xy_get for drm engine Summary: This changes the ecore_evas_pointer_xy_get function call (on drm engine) to use the new ecore_drm_device_pointer_xy_get so we can center mouse pointer on an output at startup. @fix Signed-off-by: Chris Michael cp.mich...@samsung.com --- src/modules/ecore_evas/engines/drm/ecore_evas_drm.c | 9 - 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c index 3de4668..a04797d 100644 --- a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c +++ b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c @@ -792,7 +792,7 @@ _ecore_evas_drm_object_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, i ee-prop.cursor.hot.x = hot_x; ee-prop.cursor.hot.y = hot_y; - evas_pointer_output_xy_get(ee-evas, x, y); + ecore_evas_pointer_xy_get(ee, x, y); if (obj != old) { @@ -1033,9 +1033,8 @@ _ecore_evas_drm_screen_geometry_get(const Ecore_Evas *ee EINA_UNUSED, int *x, in } static void -_ecore_evas_drm_pointer_xy_get(const Ecore_Evas *ee, Evas_Coord *x, Evas_Coord *y) +_ecore_evas_drm_pointer_xy_get(const Ecore_Evas *ee EINA_UNUSED, Evas_Coord *x, Evas_Coord *y) { - /* FIXME: This should probably be using an ecore_drm_input function to -* return the current mouse position */ - evas_pointer_output_xy_get(ee-evas, x, y); + /* get pointer position from input */ + ecore_drm_device_pointer_xy_get(dev, x, y); } --
Re: [E-devel] [EGIT] [core/efl] master 01/01: Use doubles to store libinput's mouse motion
On 03/04/2015 12:34 PM, Tom Hacohen wrote: On 04/03/15 17:31, Christopher Michael wrote: On 03/04/2015 12:20 PM, Tom Hacohen wrote: On 04/03/15 09:25, Tom Hacohen wrote: Commit guidelines. Mike, when you review commits, make sure they conform to our commit guidelines. In this case, the summary line. This is not a single instance, I've seen others too. Oops, rereading this after comments from Chris on IRC, I forgot to mention what's wrong. The problem here is the lack of the ecore drm: prefix, i.e the module prefix. Yes. That's where the confusion happened. You said Summary and I was looking at the Summary line...not the prefix line. It's damn phab... :| In git lingo the summary line is the first line of the commit (subject). Can we just call it subject line then to avoid any further confusion ?? Seems more accurate a description anyway -- Tom. On 27/02/15 15:46, Derek Foreman wrote: devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=95cb1938c22664095675ca21649856371385f393 commit 95cb1938c22664095675ca21649856371385f393 Author: Derek Foreman der...@osg.samsung.com Date: Fri Feb 27 10:40:38 2015 -0500 Use doubles to store libinput's mouse motion Summary: Using can result in motion being completely discarded. Since we only need integer data, we also only actually forward on an event when the mouse moves more than a full unit. Reviewers: zmike, devilhorns Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D2062 --- src/lib/ecore_drm/ecore_drm_evdev.c | 75 +-- src/lib/ecore_drm/ecore_drm_private.h | 3 +- 2 files changed, 47 insertions(+), 31 deletions(-) diff --git a/src/lib/ecore_drm/ecore_drm_evdev.c b/src/lib/ecore_drm/ecore_drm_evdev.c index 8320c30..054858a 100644 --- a/src/lib/ecore_drm/ecore_drm_evdev.c +++ b/src/lib/ecore_drm/ecore_drm_evdev.c @@ -347,15 +347,16 @@ _device_pointer_motion(Ecore_Drm_Evdev *edev, struct libinput_event_pointer *eve if ((output = edev-output)) { -if (edev-mouse.x output-x) - edev-mouse.x = output-x; -else if (edev-mouse.x = (output-x + output-current_mode-width)) - edev-mouse.x = (output-x + output-current_mode-width - 1); - -if (edev-mouse.y output-y) - edev-mouse.y = output-y; -else if (edev-mouse.y = (output-y + output-current_mode-height)) - edev-mouse.y = (output-y + output-current_mode-height - 1); +if (edev-mouse.ix output-x) + edev-mouse.dx = edev-mouse.ix = output-x; +else if (edev-mouse.ix = (output-x + output-current_mode-width)) + edev-mouse.dx = + edev-mouse.ix = (output-x + output-current_mode-width - 1); + +if (edev-mouse.iy output-y) + edev-mouse.dy = edev-mouse.iy = output-y; +else if (edev-mouse.iy = (output-y + output-current_mode-height)) + edev-mouse.dy = edev-mouse.iy = (output-y + output-current_mode-height - 1); } ev-window = (Ecore_Window)input-dev-window; @@ -367,8 +368,8 @@ _device_pointer_motion(Ecore_Drm_Evdev *edev, struct libinput_event_pointer *eve _device_modifiers_update(edev); ev-modifiers = edev-xkb.modifiers; - ev-x = edev-mouse.x; - ev-y = edev-mouse.y; + ev-x = edev-mouse.ix; + ev-y = edev-mouse.iy; ev-root.x = ev-x; ev-root.y = ev-y; @@ -393,10 +394,15 @@ _device_handle_pointer_motion(struct libinput_device *device, struct libinput_ev if (!(edev = libinput_device_get_user_data(device))) return; - edev-mouse.x += libinput_event_pointer_get_dx(event); - edev-mouse.y += libinput_event_pointer_get_dy(event); + edev-mouse.dx += libinput_event_pointer_get_dx(event); + edev-mouse.dy += libinput_event_pointer_get_dy(event); - _device_pointer_motion(edev, event); + if (floor(edev-mouse.dx) == edev-mouse.ix + floor(edev-mouse.dy) == edev-mouse.iy) return; + + edev-mouse.ix = edev-mouse.dx; + edev-mouse.iy = edev-mouse.dy; + _device_pointer_motion(edev, event); } static void @@ -406,13 +412,16 @@ _device_handle_pointer_motion_absolute(struct libinput_device *device, struct li if (!(edev = libinput_device_get_user_data(device))) return; - edev-mouse.x = - libinput_event_pointer_get_absolute_x_transformed(event, + edev-mouse.dx = + libinput_event_pointer_get_absolute_x_transformed(event, edev-output-current_mode-width); - edev-mouse.y = - libinput_event_pointer_get_absolute_y_transformed(event, + edev-mouse.dy = + libinput_event_pointer_get_absolute_y_transformed(event,
Re: [E-devel] [EGIT] [tools/erigo] master 01/01: Eo: adapt code to follow eo_do new syntax - part 3
On Wed, 04 Mar 2015 17:05:23 + Daniel Kolesa dan...@octaforge.org wrote: On Wed, Mar 4, 2015 at 4:56 PM, Christopher Michael cpmich...@osg.samsung.com wrote: Commit guidelines. Yakov, when you push commits, make sure they conform to our commit guidelines. In this case, the summary line. This is not a single instance, I've seen others too. This one looks pretty good to me :) Don't see a problem. Of course Mr one-line message committer! On 03/04/2015 11:26 AM, Yakov Goldberg wrote: yakov pushed a commit to branch master. http://git.enlightenment.org/tools/erigo.git/commit/?id=554c595e68639a676bd7dae3a4c1ccace3135a35 commit 554c595e68639a676bd7dae3a4c1ccace3135a35 Author: Yakov Goldberg yako...@samsung.com Date: Wed Mar 4 18:25:40 2015 +0200 Eo: adapt code to follow eo_do new syntax - part 3 --- src/lib/ffi_abstraction.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/lib/ffi_abstraction.c b/src/lib/ffi_abstraction.c index 00e05b6..56b4374 100644 --- a/src/lib/ffi_abstraction.c +++ b/src/lib/ffi_abstraction.c @@ -152,6 +152,7 @@ _ffi_eo_do(const Gui_Session *session, const Gui_Widget *wdg, const Gui_Widget_P ffi_call(cif, (void (*)()) func_pointer, result, values); ret = EINA_TRUE; } +_eo_do_end(); } end: @@ -237,6 +238,7 @@ _ffi_eo_do_get(const Gui_Session *session, const Gui_Widget *wdg, const Gui_Widg ffi_call(cif, (void (*)()) func_pointer, result, values); ret = EINA_TRUE; } +_eo_do_end(); } /* For enum type default value will be int. We need to change it to string value of current enum. */ @@ -340,7 +342,7 @@ _ffi_eo_add(const Gui_Session *session, const Gui_Widget *wdg, Eo *parent_eo) if (_eo_do_start(_eoid_, NULL, EINA_FALSE, __FILE__, __FUNCTION__, __LINE__)) { func_pointer(); -_tmp_obj = eo_finalize(); +_tmp_obj = _eo_add_end(); } ret = _tmp_obj; @@ -427,6 +429,7 @@ _ffi_eo_do_content(const Gui_Session *session, const Gui_Widget *wdg, const Gui_ ffi_call(cif, (void (*)()) func_pointer, result, values); ret = EINA_TRUE; } +_eo_do_end(); } end: @@ -546,6 +549,7 @@ _ffi_eo_item_add(const Gui_Session *session, const Gui_Widget *wdg, const Item_C { ffi_call(cif, (void (*)()) func_pointer, ret_item, values); } +_eo_do_end(); } end: -- 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
Re: [E-devel] [EGIT] [core/efl] master 01/01: Use doubles to store libinput's mouse motion
On 04/03/15 09:25, Tom Hacohen wrote: Commit guidelines. Mike, when you review commits, make sure they conform to our commit guidelines. In this case, the summary line. This is not a single instance, I've seen others too. Oops, rereading this after comments from Chris on IRC, I forgot to mention what's wrong. The problem here is the lack of the ecore drm: prefix, i.e the module prefix. -- Tom. On 27/02/15 15:46, Derek Foreman wrote: devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=95cb1938c22664095675ca21649856371385f393 commit 95cb1938c22664095675ca21649856371385f393 Author: Derek Foreman der...@osg.samsung.com Date: Fri Feb 27 10:40:38 2015 -0500 Use doubles to store libinput's mouse motion Summary: Using can result in motion being completely discarded. Since we only need integer data, we also only actually forward on an event when the mouse moves more than a full unit. Reviewers: zmike, devilhorns Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D2062 --- src/lib/ecore_drm/ecore_drm_evdev.c | 75 +-- src/lib/ecore_drm/ecore_drm_private.h | 3 +- 2 files changed, 47 insertions(+), 31 deletions(-) diff --git a/src/lib/ecore_drm/ecore_drm_evdev.c b/src/lib/ecore_drm/ecore_drm_evdev.c index 8320c30..054858a 100644 --- a/src/lib/ecore_drm/ecore_drm_evdev.c +++ b/src/lib/ecore_drm/ecore_drm_evdev.c @@ -347,15 +347,16 @@ _device_pointer_motion(Ecore_Drm_Evdev *edev, struct libinput_event_pointer *eve if ((output = edev-output)) { -if (edev-mouse.x output-x) - edev-mouse.x = output-x; -else if (edev-mouse.x = (output-x + output-current_mode-width)) - edev-mouse.x = (output-x + output-current_mode-width - 1); - -if (edev-mouse.y output-y) - edev-mouse.y = output-y; -else if (edev-mouse.y = (output-y + output-current_mode-height)) - edev-mouse.y = (output-y + output-current_mode-height - 1); +if (edev-mouse.ix output-x) + edev-mouse.dx = edev-mouse.ix = output-x; +else if (edev-mouse.ix = (output-x + output-current_mode-width)) + edev-mouse.dx = + edev-mouse.ix = (output-x + output-current_mode-width - 1); + +if (edev-mouse.iy output-y) + edev-mouse.dy = edev-mouse.iy = output-y; +else if (edev-mouse.iy = (output-y + output-current_mode-height)) + edev-mouse.dy = edev-mouse.iy = (output-y + output-current_mode-height - 1); } ev-window = (Ecore_Window)input-dev-window; @@ -367,8 +368,8 @@ _device_pointer_motion(Ecore_Drm_Evdev *edev, struct libinput_event_pointer *eve _device_modifiers_update(edev); ev-modifiers = edev-xkb.modifiers; - ev-x = edev-mouse.x; - ev-y = edev-mouse.y; + ev-x = edev-mouse.ix; + ev-y = edev-mouse.iy; ev-root.x = ev-x; ev-root.y = ev-y; @@ -393,10 +394,15 @@ _device_handle_pointer_motion(struct libinput_device *device, struct libinput_ev if (!(edev = libinput_device_get_user_data(device))) return; - edev-mouse.x += libinput_event_pointer_get_dx(event); - edev-mouse.y += libinput_event_pointer_get_dy(event); + edev-mouse.dx += libinput_event_pointer_get_dx(event); + edev-mouse.dy += libinput_event_pointer_get_dy(event); - _device_pointer_motion(edev, event); + if (floor(edev-mouse.dx) == edev-mouse.ix + floor(edev-mouse.dy) == edev-mouse.iy) return; + + edev-mouse.ix = edev-mouse.dx; + edev-mouse.iy = edev-mouse.dy; + _device_pointer_motion(edev, event); } static void @@ -406,13 +412,16 @@ _device_handle_pointer_motion_absolute(struct libinput_device *device, struct li if (!(edev = libinput_device_get_user_data(device))) return; - edev-mouse.x = - libinput_event_pointer_get_absolute_x_transformed(event, + edev-mouse.dx = + libinput_event_pointer_get_absolute_x_transformed(event, edev-output-current_mode-width); - edev-mouse.y = - libinput_event_pointer_get_absolute_y_transformed(event, + edev-mouse.dy = + libinput_event_pointer_get_absolute_y_transformed(event, edev-output-current_mode-height); + if (floor(edev-mouse.dx) == edev-mouse.ix + floor(edev-mouse.dy) == edev-mouse.iy) return; + _device_pointer_motion(edev, event); } @@ -447,8 +456,8 @@ _device_handle_button(struct libinput_device *device, struct libinput_event_poin _device_modifiers_update(edev); ev-modifiers = edev-xkb.modifiers; - ev-x = edev-mouse.x; - ev-y = edev-mouse.y; + ev-x = edev-mouse.ix; + ev-y = edev-mouse.iy; ev-root.x = ev-x; ev-root.y = ev-y; @@ -529,8 +538,8 @@
[EGIT] [core/efl] master 03/04: ecore-drm: Center mouse pointer on an output when it gets created
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=49beaeacf474d3743a39da75488be9befa4a09b3 commit 49beaeacf474d3743a39da75488be9befa4a09b3 Author: Chris Michael cp.mich...@samsung.com Date: Wed Mar 4 11:47:42 2015 -0500 ecore-drm: Center mouse pointer on an output when it gets created Summary: This sets the initial mouse pointer position to be at the center of an output. @fix Signed-off-by: Chris Michael cp.mich...@samsung.com --- src/lib/ecore_drm/ecore_drm_evdev.c | 7 +++ 1 file changed, 7 insertions(+) diff --git a/src/lib/ecore_drm/ecore_drm_evdev.c b/src/lib/ecore_drm/ecore_drm_evdev.c index 3f47101..a8383fa 100644 --- a/src/lib/ecore_drm/ecore_drm_evdev.c +++ b/src/lib/ecore_drm/ecore_drm_evdev.c @@ -78,6 +78,13 @@ _device_output_set(Ecore_Drm_Evdev *edev) if (!(output = eina_list_nth(input-dev-outputs, 0))) return; edev-output = output; } + + if (libinput_device_has_capability(edev-device, + LIBINPUT_DEVICE_CAP_POINTER)) + { +edev-mouse.dx = edev-output-current_mode-width / 2; +edev-mouse.dy = edev-output-current_mode-height / 2; + } } static void --
Re: [E-devel] [EGIT] [tools/exactness] master 01/01: added code to enable shots capturing of ecore_evas and evas examples
Commit guidelines. Tom, when you review commits, make sure they conform to our commit guidelines. In this case, the summary line. This is not a single instance, I've seen others too. On 03/04/2015 10:07 AM, kabeer khan wrote: tasn pushed a commit to branch master. http://git.enlightenment.org/tools/exactness.git/commit/?id=079dbb6dd542fc0066026cbf82ebe6db347d5867 commit 079dbb6dd542fc0066026cbf82ebe6db347d5867 Author: kabeer khan kabeer.k...@samsung.com Date: Wed Mar 4 15:00:05 2015 + added code to enable shots capturing of ecore_evas and evas examples Summary: Signed-off-by: kabeer khan kabeer.k...@samsung.com Reviewers: cedric, tasn Reviewed By: tasn Differential Revision: https://phab.enlightenment.org/D2082 --- src/lib/tsuite_evas_hook.c | 15 +++ 1 file changed, 15 insertions(+) diff --git a/src/lib/tsuite_evas_hook.c b/src/lib/tsuite_evas_hook.c index 03ca995..d229a05 100644 --- a/src/lib/tsuite_evas_hook.c +++ b/src/lib/tsuite_evas_hook.c @@ -331,6 +331,21 @@ evas_new(void) return evas; } +EAPI Ecore_Evas * +ecore_evas_new(const char *engine_name, int x, int y, + int w, int h, const char *extra_options) +{ + Ecore_Evas *ecore_evas; + Ecore_Evas * (*_ecore_evas_new)(const char *engine_name, int x, int y, + int w, int h, const char *extra_options) = dlsym(RTLD_NEXT, __FUNCTION__); + + if(!_hook_setting-recording) + ecore_evas = _ecore_evas_new(buffer, x, y, w, h, extra_options); + else + ecore_evas = _ecore_evas_new(engine_name, x, y, w, h, extra_options); + return ecore_evas; +} + static Eina_Bool tsuite_feed_event(void *data) { -- 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] [tools/erigo] master 01/01: Eo: adapt code to follow eo_do new syntax - part 3
On 04/03/15 16:56, Christopher Michael wrote: Commit guidelines. Yakov, when you push commits, make sure they conform to our commit guidelines. In this case, the summary line. This is not a single instance, I've seen others too. See my other email, this is not covered by the efl commit guidelines, and anyhow, even if it was, there's nothing specifically wrong with it. Yeah, it's not the best commit message, but it does conform with the guidelines (although it doesn't have to) as much as I can see. -- Tom. On 03/04/2015 11:26 AM, Yakov Goldberg wrote: yakov pushed a commit to branch master. http://git.enlightenment.org/tools/erigo.git/commit/?id=554c595e68639a676bd7dae3a4c1ccace3135a35 commit 554c595e68639a676bd7dae3a4c1ccace3135a35 Author: Yakov Goldberg yako...@samsung.com Date: Wed Mar 4 18:25:40 2015 +0200 Eo: adapt code to follow eo_do new syntax - part 3 --- src/lib/ffi_abstraction.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/lib/ffi_abstraction.c b/src/lib/ffi_abstraction.c index 00e05b6..56b4374 100644 --- a/src/lib/ffi_abstraction.c +++ b/src/lib/ffi_abstraction.c @@ -152,6 +152,7 @@ _ffi_eo_do(const Gui_Session *session, const Gui_Widget *wdg, const Gui_Widget_P ffi_call(cif, (void (*)()) func_pointer, result, values); ret = EINA_TRUE; } +_eo_do_end(); } end: @@ -237,6 +238,7 @@ _ffi_eo_do_get(const Gui_Session *session, const Gui_Widget *wdg, const Gui_Widg ffi_call(cif, (void (*)()) func_pointer, result, values); ret = EINA_TRUE; } +_eo_do_end(); } /* For enum type default value will be int. We need to change it to string value of current enum. */ @@ -340,7 +342,7 @@ _ffi_eo_add(const Gui_Session *session, const Gui_Widget *wdg, Eo *parent_eo) if (_eo_do_start(_eoid_, NULL, EINA_FALSE, __FILE__, __FUNCTION__, __LINE__)) { func_pointer(); -_tmp_obj = eo_finalize(); +_tmp_obj = _eo_add_end(); } ret = _tmp_obj; @@ -427,6 +429,7 @@ _ffi_eo_do_content(const Gui_Session *session, const Gui_Widget *wdg, const Gui_ ffi_call(cif, (void (*)()) func_pointer, result, values); ret = EINA_TRUE; } +_eo_do_end(); } end: @@ -546,6 +549,7 @@ _ffi_eo_item_add(const Gui_Session *session, const Gui_Widget *wdg, const Item_C { ffi_call(cif, (void (*)()) func_pointer, ret_item, values); } +_eo_do_end(); } end: -- 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
Re: [E-devel] [EGIT] [tools/erigo] master 01/01: Eo: adapt code to follow eo_do new syntax - part 3
On 03/04/2015 12:05 PM, Daniel Kolesa wrote: On Wed, Mar 4, 2015 at 4:56 PM, Christopher Michael cpmich...@osg.samsung.com wrote: Commit guidelines. Yakov, when you push commits, make sure they conform to our commit guidelines. In this case, the summary line. This is not a single instance, I've seen others too. This one looks pretty good to me :) Don't see a problem. No summary line ? :) On 03/04/2015 11:26 AM, Yakov Goldberg wrote: yakov pushed a commit to branch master. http://git.enlightenment.org/tools/erigo.git/commit/?id=554c595e68639a676bd7dae3a4c1ccace3135a35 commit 554c595e68639a676bd7dae3a4c1ccace3135a35 Author: Yakov Goldberg yako...@samsung.com Date: Wed Mar 4 18:25:40 2015 +0200 Eo: adapt code to follow eo_do new syntax - part 3 --- src/lib/ffi_abstraction.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/lib/ffi_abstraction.c b/src/lib/ffi_abstraction.c index 00e05b6..56b4374 100644 --- a/src/lib/ffi_abstraction.c +++ b/src/lib/ffi_abstraction.c @@ -152,6 +152,7 @@ _ffi_eo_do(const Gui_Session *session, const Gui_Widget *wdg, const Gui_Widget_P ffi_call(cif, (void (*)()) func_pointer, result, values); ret = EINA_TRUE; } +_eo_do_end(); } end: @@ -237,6 +238,7 @@ _ffi_eo_do_get(const Gui_Session *session, const Gui_Widget *wdg, const Gui_Widg ffi_call(cif, (void (*)()) func_pointer, result, values); ret = EINA_TRUE; } +_eo_do_end(); } /* For enum type default value will be int. We need to change it to string value of current enum. */ @@ -340,7 +342,7 @@ _ffi_eo_add(const Gui_Session *session, const Gui_Widget *wdg, Eo *parent_eo) if (_eo_do_start(_eoid_, NULL, EINA_FALSE, __FILE__, __FUNCTION__, __LINE__)) { func_pointer(); -_tmp_obj = eo_finalize(); +_tmp_obj = _eo_add_end(); } ret = _tmp_obj; @@ -427,6 +429,7 @@ _ffi_eo_do_content(const Gui_Session *session, const Gui_Widget *wdg, const Gui_ ffi_call(cif, (void (*)()) func_pointer, result, values); ret = EINA_TRUE; } +_eo_do_end(); } end: @@ -546,6 +549,7 @@ _ffi_eo_item_add(const Gui_Session *session, const Gui_Widget *wdg, const Item_C { ffi_call(cif, (void (*)()) func_pointer, ret_item, values); } +_eo_do_end(); } end: -- 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
Re: [E-devel] [EGIT] [core/efl] master 01/01: Use doubles to store libinput's mouse motion
On 04/03/15 18:08, Christopher Michael wrote: On 03/04/2015 12:34 PM, Tom Hacohen wrote: On 04/03/15 17:31, Christopher Michael wrote: On 03/04/2015 12:20 PM, Tom Hacohen wrote: On 04/03/15 09:25, Tom Hacohen wrote: Commit guidelines. Mike, when you review commits, make sure they conform to our commit guidelines. In this case, the summary line. This is not a single instance, I've seen others too. Oops, rereading this after comments from Chris on IRC, I forgot to mention what's wrong. The problem here is the lack of the ecore drm: prefix, i.e the module prefix. Yes. That's where the confusion happened. You said Summary and I was looking at the Summary line...not the prefix line. It's damn phab... :| In git lingo the summary line is the first line of the commit (subject). Can we just call it subject line then to avoid any further confusion ?? Seems more accurate a description anyway You'll then confuse the git guys. :) I'll try my best, when commenting on your patches to: 1. Refer to it as a subject line (in addition to summary). 2. Call you Chris and not Mike. :) -- Tom. -- 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/02: ecore-drm: Add edid structure to Ecore_Drm_Output
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=02e7931aeb49fe38123153a20c3dd070eb02d421 commit 02e7931aeb49fe38123153a20c3dd070eb02d421 Author: Chris Michael cp.mich...@samsung.com Date: Wed Mar 4 14:52:04 2015 -0500 ecore-drm: Add edid structure to Ecore_Drm_Output Summary: This adds an edid substructure to Ecore_Drm_Output so that when we parse out EDID information, we have a place to store it Signed-off-by: Chris Michael cp.mich...@samsung.com --- src/lib/ecore_drm/ecore_drm_private.h | 10 +- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/lib/ecore_drm/ecore_drm_private.h b/src/lib/ecore_drm/ecore_drm_private.h index cd2b6fe..7b8e4f1 100644 --- a/src/lib/ecore_drm/ecore_drm_private.h +++ b/src/lib/ecore_drm/ecore_drm_private.h @@ -116,7 +116,7 @@ struct _Ecore_Drm_Output drmModeCrtcPtr crtc; Eeze_Udev_Watch *watch; - int x, y; + int x, y, phys_width, phys_height; int drm_fd; Eina_Bool need_repaint : 1; @@ -131,6 +131,14 @@ struct _Ecore_Drm_Output Ecore_Drm_Output_Mode *current_mode; Eina_List *modes; + struct + { +char eisa[13]; +char monitor[13]; +char pnp[5]; +char serial[13]; + } edid; + Ecore_Drm_Fb *current, *next; Ecore_Drm_Fb *dumb[NUM_FRAME_BUFFERS]; Ecore_Drm_Backlight *backlight; --
[EGIT] [core/efl] master 02/02: ecore-drm: Implement edid parsing for Ecore_Drm_Output
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=2e319df7b0f72631c2d4d475b3321dc3a7d68ef2 commit 2e319df7b0f72631c2d4d475b3321dc3a7d68ef2 Author: Chris Michael cp.mich...@samsung.com Date: Wed Mar 4 14:53:06 2015 -0500 ecore-drm: Implement edid parsing for Ecore_Drm_Output Summary: This implements edid parsing to obtain output make and model so we can get better output names. This also fixes a false FIXME statement in ecore_drm_output_physical_size_get function. As it turns out, we don't need to get these values from edid parsing as they are already available in the drm connector. @feature Signed-off-by: Chris Michael cp.mich...@samsung.com --- src/lib/ecore_drm/ecore_drm_output.c | 121 ++- 1 file changed, 118 insertions(+), 3 deletions(-) diff --git a/src/lib/ecore_drm/ecore_drm_output.c b/src/lib/ecore_drm/ecore_drm_output.c index a2d7f10..a86c4e6 100644 --- a/src/lib/ecore_drm/ecore_drm_output.c +++ b/src/lib/ecore_drm/ecore_drm_output.c @@ -3,9 +3,18 @@ #endif #include ecore_drm_private.h +#include ctype.h #define ALEN(array) (sizeof(array) / sizeof(array)[0]) +#define EDID_DESCRIPTOR_ALPHANUMERIC_DATA_STRING 0xfe +#define EDID_DESCRIPTOR_DISPLAY_PRODUCT_NAME 0xfc +#define EDID_DESCRIPTOR_DISPLAY_PRODUCT_SERIAL_NUMBER 0xff +#define EDID_OFFSET_DATA_BLOCKS 0x36 +#define EDID_OFFSET_LAST_BLOCK 0x6c +#define EDID_OFFSET_PNPID 0x08 +#define EDID_OFFSET_SERIAL 0x0c + static const char *conn_types[] = { None, VGA, DVI, DVI, DVI, @@ -17,6 +26,109 @@ EAPI int ECORE_DRM_EVENT_OUTPUT = 0; /* local functions */ +static void +_ecore_drm_output_edid_parse_string(const uint8_t *data, char text[]) +{ + int i = 0, rep = 0; + + strncpy(text, (const char *)data, 12); + + for (; text[i] != '\0'; i++) + { +if ((text[i] == '\n') || (text[i] == '\r')) + { + text[i] = '\0'; + break; + } + } + + for (i = 0; text[i] != '\0'; i++) + { +if (!isprint(text[i])) + { + text[i] = '-'; + rep++; + } + } + + if (rep 0) text[i] = '\0'; +} + +static int +_ecore_drm_output_edid_parse(Ecore_Drm_Output *output, const uint8_t *data, size_t len) +{ + int i = 0; + uint32_t serial; + + if (len 128) return -1; + if ((data[0] != 0x00) || (data[1] != 0xff)) return -1; + + output-edid.pnp[0] = 'A' + ((data[EDID_OFFSET_PNPID + 0] 0x7c) / 4) - 1; + output-edid.pnp[1] = + 'A' + ((data[EDID_OFFSET_PNPID + 0] 0x3) * 8) + + ((data[EDID_OFFSET_PNPID + 1] 0xe0) / 32) - 1; + output-edid.pnp[2] = 'A' + (data[EDID_OFFSET_PNPID + 1] 0x1f) - 1; + output-edid.pnp[3] = '\0'; + + serial = (uint32_t) data[EDID_OFFSET_SERIAL + 0]; + serial += (uint32_t) data[EDID_OFFSET_SERIAL + 1] * 0x100; + serial += (uint32_t) data[EDID_OFFSET_SERIAL + 2] * 0x1; + serial += (uint32_t) data[EDID_OFFSET_SERIAL + 3] * 0x100; + if (serial 0) + sprintf(output-edid.serial, %lu, (unsigned long)serial); + + for (i = EDID_OFFSET_DATA_BLOCKS; i = EDID_OFFSET_LAST_BLOCK; i += 18) + { +if (data[i] != 0) continue; +if (data[i + 2] != 0) continue; + +if (data[i + 3] == EDID_DESCRIPTOR_DISPLAY_PRODUCT_NAME) + _ecore_drm_output_edid_parse_string(data[i+5], output-edid.monitor); +else if (data[i + 3] == EDID_DESCRIPTOR_DISPLAY_PRODUCT_SERIAL_NUMBER) + _ecore_drm_output_edid_parse_string(data[i+5], output-edid.serial); +else if (data[i + 3] == EDID_DESCRIPTOR_ALPHANUMERIC_DATA_STRING) + _ecore_drm_output_edid_parse_string(data[i+5], output-edid.eisa); + } + + return 0; +} + +static void +_ecore_drm_output_edid_find(Ecore_Drm_Output *output, drmModeConnector *conn) +{ + drmModePropertyBlobPtr blob = NULL; + drmModePropertyPtr prop; + int i = 0, ret = 0; + + for (; i conn-count_props !blob; i++) + { +if (!(prop = drmModeGetProperty(output-dev-drm.fd, conn-props[i]))) + continue; +if ((prop-flags DRM_MODE_PROP_BLOB) +(!strcmp(prop-name, EDID))) + { + blob = drmModeGetPropertyBlob(output-dev-drm.fd, + conn-prop_values[i]); + } +drmModeFreeProperty(prop); + } + + if (!blob) return; + + ret = _ecore_drm_output_edid_parse(output, blob-data, blob-length); + if (!ret) + { +if (output-edid.pnp[0] != '\0') + eina_stringshare_replace(output-make, output-edid.pnp); +if (output-edid.monitor[0] != '\0') + eina_stringshare_replace(output-model, output-edid.monitor); +/* if (output-edid.serial[0] != '\0') */ +/* eina_stringshare_replace(output-serial, output-edid.serial); */ + } + + drmModeFreePropertyBlob(blob); +} + static Eina_Bool _ecore_drm_output_software_setup(Ecore_Drm_Device *dev,
[EGIT] [core/elementary] master 01/01: elm_win now accurately reapplies framespace in all cases for fullscreen wins
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=2b03507366ead5a47165610149c865877b8e7b9c commit 2b03507366ead5a47165610149c865877b8e7b9c Author: Mike Blumenkrantz zm...@osg.samsung.com Date: Wed Mar 4 15:20:54 2015 -0500 elm_win now accurately reapplies framespace in all cases for fullscreen wins also related opaque region fix --- src/lib/elm_win.c | 17 - 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c index 1bfdd93..27eb116 100644 --- a/src/lib/elm_win.c +++ b/src/lib/elm_win.c @@ -1159,6 +1159,16 @@ _elm_win_frame_obj_update(Elm_Win_Data *sd) int ox, oy, ow, oh; int sx, sy, sw, sh; int x, y, w, h; + + if (sd-fullscreen) + { +evas_output_framespace_set(sd-evas, 0, 0, 0, 0); +#ifdef HAVE_ELEMENTARY_WAYLAND +ecore_evas_geometry_get(sd-ee, NULL, NULL, ow, oh); +ecore_wl_window_opaque_region_set(sd-wl.win, 0, 0, ow, oh); +return; +#endif + } evas_object_geometry_get(sd-frame_obj, fx, fy, fw, fh); evas_object_geometry_get(sd-client_obj, ox, oy, ow, oh); evas_object_geometry_get(sd-spacer_obj, sx, sy, sw, sh); @@ -1256,6 +1266,7 @@ _elm_win_state_change(Ecore_Evas *ee) } if (ch_fullscreen) { +_elm_win_frame_obj_update(sd); if (sd-fullscreen) { int w, h; @@ -1263,7 +1274,6 @@ _elm_win_state_change(Ecore_Evas *ee) evas_object_smart_callback_call(obj, SIG_FULLSCREEN, NULL); if (sd-frame_obj) evas_object_hide(sd-frame_obj); - evas_output_framespace_set(sd-evas, 0, 0, 0, 0); ecore_evas_geometry_get(sd-ee, NULL, NULL, w, h); ecore_evas_resize(sd-ee, w, h); } @@ -1271,10 +1281,7 @@ _elm_win_state_change(Ecore_Evas *ee) { evas_object_smart_callback_call(obj, SIG_UNFULLSCREEN, NULL); if (sd-frame_obj) - { - evas_object_show(sd-frame_obj); - _elm_win_frame_obj_update(sd); - } + evas_object_show(sd-frame_obj); } } if (ch_maximized) --
[EGIT] [core/enlightenment] master 01/01: reapply wl surface focus during commit when necessary
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=de17793fe366d892d164dc177a70885f6cde334c commit de17793fe366d892d164dc177a70885f6cde334c Author: Mike Blumenkrantz zm...@osg.samsung.com Date: Wed Mar 4 15:36:23 2015 -0500 reapply wl surface focus during commit when necessary --- src/bin/e_comp_wl.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c index bd96b99..880e1f6 100644 --- a/src/bin/e_comp_wl.c +++ b/src/bin/e_comp_wl.c @@ -2697,6 +2697,8 @@ e_comp_wl_surface_commit(E_Client *ec) } } } + if (ec-comp_data-focus_update) + _e_comp_wl_client_focus(ec); return EINA_TRUE; } --
[EGIT] [core/enlightenment] master 01/01: set ec-fullscreen before applying fullscreen geometry
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=a38a34d5999d090c68c321f6af465787ee573e91 commit a38a34d5999d090c68c321f6af465787ee573e91 Author: Mike Blumenkrantz zm...@osg.samsung.com Date: Wed Mar 4 15:52:16 2015 -0500 set ec-fullscreen before applying fullscreen geometry --- src/bin/e_client.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/e_client.c b/src/bin/e_client.c index ab0681c..d0770e3 100644 --- a/src/bin/e_client.c +++ b/src/bin/e_client.c @@ -3824,6 +3824,7 @@ e_client_fullscreen(E_Client *ec, E_Fullscreen policy) else if (e_config-mode.presentation) evas_object_layer_set(ec-frame, E_LAYER_CLIENT_TOP); + ec-fullscreen = 1; #ifndef HAVE_WAYLAND_ONLY if ((eina_list_count(ec-comp-zones) 1) || (policy == E_FULLSCREEN_RESIZE) || (!ecore_x_randr_query())) @@ -3839,7 +3840,6 @@ e_client_fullscreen(E_Client *ec, E_Fullscreen policy) /* compositor backends! */ evas_object_smart_callback_call(ec-frame, fullscreen_zoom, NULL); } - ec-fullscreen = 1; e_hints_window_fullscreen_set(ec, 1); e_hints_window_size_unset(ec); --
Re: [E-devel] [EGIT] [core/efl] master 01/01: Use doubles to store libinput's mouse motion
On 03/04/2015 01:09 PM, Tom Hacohen wrote: On 04/03/15 18:08, Christopher Michael wrote: On 03/04/2015 12:34 PM, Tom Hacohen wrote: On 04/03/15 17:31, Christopher Michael wrote: On 03/04/2015 12:20 PM, Tom Hacohen wrote: On 04/03/15 09:25, Tom Hacohen wrote: Commit guidelines. Mike, when you review commits, make sure they conform to our commit guidelines. In this case, the summary line. This is not a single instance, I've seen others too. Oops, rereading this after comments from Chris on IRC, I forgot to mention what's wrong. The problem here is the lack of the ecore drm: prefix, i.e the module prefix. Yes. That's where the confusion happened. You said Summary and I was looking at the Summary line...not the prefix line. It's damn phab... :| In git lingo the summary line is the first line of the commit (subject). Can we just call it subject line then to avoid any further confusion ?? Seems more accurate a description anyway You'll then confuse the git guys. :) Well, if all 2 of you can't remember that, then you got issues :P I'll try my best, when commenting on your patches to: 1. Refer to it as a subject line (in addition to summary). And I'll try my best to review the commit message also ... I mainly just focus on the code 2. Call you Chris and not Mike. :) I am sure Mike would appreciate that ;) -- Tom. -- 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
Re: [E-devel] [EGIT] [tools/exactness] master 01/01: added code to enable shots capturing of ecore_evas and evas examples
On 04/03/15 16:55, Christopher Michael wrote: Commit guidelines. Tom, when you review commits, make sure they conform to our commit guidelines. In this case, the summary line. This is not a single instance, I've seen others too. Huh? This is exactness, it's not covered by our commit guidelines, only the EFL/Elementary/Enlightenment are. Anyhow, there's nothing wrong with this summary line, except for maybe the lower case letter at the beginning of the line. On 03/04/2015 10:07 AM, kabeer khan wrote: tasn pushed a commit to branch master. http://git.enlightenment.org/tools/exactness.git/commit/?id=079dbb6dd542fc0066026cbf82ebe6db347d5867 commit 079dbb6dd542fc0066026cbf82ebe6db347d5867 Author: kabeer khan kabeer.k...@samsung.com Date: Wed Mar 4 15:00:05 2015 + added code to enable shots capturing of ecore_evas and evas examples Summary: Signed-off-by: kabeer khan kabeer.k...@samsung.com Reviewers: cedric, tasn Reviewed By: tasn Differential Revision: https://phab.enlightenment.org/D2082 --- src/lib/tsuite_evas_hook.c | 15 +++ 1 file changed, 15 insertions(+) diff --git a/src/lib/tsuite_evas_hook.c b/src/lib/tsuite_evas_hook.c index 03ca995..d229a05 100644 --- a/src/lib/tsuite_evas_hook.c +++ b/src/lib/tsuite_evas_hook.c @@ -331,6 +331,21 @@ evas_new(void) return evas; } +EAPI Ecore_Evas * +ecore_evas_new(const char *engine_name, int x, int y, + int w, int h, const char *extra_options) +{ + Ecore_Evas *ecore_evas; + Ecore_Evas * (*_ecore_evas_new)(const char *engine_name, int x, int y, + int w, int h, const char *extra_options) = dlsym(RTLD_NEXT, __FUNCTION__); + + if(!_hook_setting-recording) + ecore_evas = _ecore_evas_new(buffer, x, y, w, h, extra_options); + else + ecore_evas = _ecore_evas_new(engine_name, x, y, w, h, extra_options); + return ecore_evas; +} + static Eina_Bool tsuite_feed_event(void *data) { -- 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/03: ecore-wl update window saved.size on any resize instead of just fs/maximize
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=50da07d0268de21025a811c3a30f32bea6769bcb commit 50da07d0268de21025a811c3a30f32bea6769bcb Author: Mike Blumenkrantz zm...@osg.samsung.com Date: Wed Mar 4 16:45:50 2015 -0500 ecore-wl update window saved.size on any resize instead of just fs/maximize --- src/lib/ecore_wayland/ecore_wl_window.c | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/lib/ecore_wayland/ecore_wl_window.c b/src/lib/ecore_wayland/ecore_wl_window.c index 5216321..40cf0cb 100644 --- a/src/lib/ecore_wayland/ecore_wl_window.c +++ b/src/lib/ecore_wayland/ecore_wl_window.c @@ -474,9 +474,6 @@ ecore_wl_window_maximized_set(Ecore_Wl_Window *win, Eina_Bool maximized) if (win-type == ECORE_WL_WINDOW_TYPE_TOPLEVEL) { -win-saved.w = win-allocation.w; -win-saved.h = win-allocation.h; - if (win-xdg_surface) { xdg_surface_set_maximized(win-xdg_surface); @@ -528,8 +525,6 @@ ecore_wl_window_fullscreen_set(Ecore_Wl_Window *win, Eina_Bool fullscreen) if (fullscreen) { win-type = ECORE_WL_WINDOW_TYPE_FULLSCREEN; -win-saved.w = win-allocation.w; -win-saved.h = win-allocation.h; if (win-xdg_surface) xdg_surface_set_fullscreen(win-xdg_surface, NULL); @@ -617,6 +612,11 @@ ecore_wl_window_update_size(Ecore_Wl_Window *win, int w, int h) if (!win) return; win-allocation.w = w; win-allocation.h = h; + if ((!ecore_wl_window_maximized_get(win)) (!win-fullscreen)) + { +win-saved.w = w; +win-saved.h = h; + } if (win-xdg_surface) xdg_surface_set_window_geometry(win-xdg_surface, win-allocation.x, win-allocation.y, --
[EGIT] [core/efl] master 03/03: ee-wl should probably clamp configure event resize to output size for fs wins
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=07a6d138a998ad110847b94e5c25b092cd42a717 commit 07a6d138a998ad110847b94e5c25b092cd42a717 Author: Mike Blumenkrantz zm...@osg.samsung.com Date: Wed Mar 4 16:49:19 2015 -0500 ee-wl should probably clamp configure event resize to output size for fs wins fs configures are 0x0, so reuse existing output size here to get accurate sizes --- src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c index 47fd54d..e7521d5 100644 --- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c +++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c @@ -208,7 +208,12 @@ _ecore_evas_wl_common_cb_window_configure(void *data EINA_UNUSED, int type EINA_ if (nw 1) nw = 1; if (nh 1) nh = 1; - if (!ee-prop.fullscreen) + if (ee-prop.fullscreen) + { +if ((nw = 1) || (nh = 1)) + evas_output_size_get(ee-evas, nw, nh); + } + else { int fw = 0, fh = 0; int maxw = 0, maxh = 0; --
[EGIT] [core/efl] master 02/03: ecore-wl windows now emit 0x0 configure sizes more reliably when fs/maximized
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=daaca897904bb1450fe3d59c6d12bbe0abd18a45 commit daaca897904bb1450fe3d59c6d12bbe0abd18a45 Author: Mike Blumenkrantz zm...@osg.samsung.com Date: Wed Mar 4 16:46:39 2015 -0500 ecore-wl windows now emit 0x0 configure sizes more reliably when fs/maximized --- src/lib/ecore_wayland/ecore_wl_window.c | 7 +++ 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/lib/ecore_wayland/ecore_wl_window.c b/src/lib/ecore_wayland/ecore_wl_window.c index 40cf0cb..3f6d40e 100644 --- a/src/lib/ecore_wayland/ecore_wl_window.c +++ b/src/lib/ecore_wayland/ecore_wl_window.c @@ -1039,11 +1039,10 @@ _ecore_xdg_handle_surface_configure(void *data, struct xdg_surface *xdg_surface } if ((width 0) (height 0)) _ecore_wl_window_configure_send(win, width, height, 0); + else if (win-fullscreen || win-maximized) + _ecore_wl_window_configure_send(win, 0, 0, 0); else - { -if ((win-saved.w != 1) || (win-saved.h != 1)) - _ecore_wl_window_configure_send(win, win-saved.w, win-saved.h, 0); - } + _ecore_wl_window_configure_send(win, win-saved.w, win-saved.h, 0); if (win-xdg_surface) xdg_surface_ack_configure(win-xdg_surface, serial); --
[EGIT] [core/enlightenment] enlightenment-0.19 01/02: set ec-fullscreen before applying fullscreen geometry
discomfitor pushed a commit to branch enlightenment-0.19. http://git.enlightenment.org/core/enlightenment.git/commit/?id=1d4f7027a4cbd2220e88671123eb29fc2b9d75de commit 1d4f7027a4cbd2220e88671123eb29fc2b9d75de Author: Mike Blumenkrantz zm...@osg.samsung.com Date: Wed Mar 4 15:52:16 2015 -0500 set ec-fullscreen before applying fullscreen geometry --- src/bin/e_client.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/e_client.c b/src/bin/e_client.c index 677d43f..28ae269 100644 --- a/src/bin/e_client.c +++ b/src/bin/e_client.c @@ -3861,6 +3861,7 @@ e_client_fullscreen(E_Client *ec, E_Fullscreen policy) else if (e_config-mode.presentation) evas_object_layer_set(ec-frame, E_LAYER_CLIENT_TOP); + ec-fullscreen = 1; #ifndef HAVE_WAYLAND_ONLY if ((eina_list_count(ec-comp-zones) 1) || (policy == E_FULLSCREEN_RESIZE) || (!ecore_x_randr_query())) @@ -3876,7 +3877,6 @@ e_client_fullscreen(E_Client *ec, E_Fullscreen policy) /* compositor backends! */ evas_object_smart_callback_call(ec-frame, fullscreen_zoom, NULL); } - ec-fullscreen = 1; e_hints_window_fullscreen_set(ec, 1); e_hints_window_size_unset(ec); --
[EGIT] [core/enlightenment] master 01/01: never resize client clip object
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=ac7a94261a0c0d652c86ebb80bdec06871a23ded commit ac7a94261a0c0d652c86ebb80bdec06871a23ded Author: Mike Blumenkrantz zm...@osg.samsung.com Date: Wed Mar 4 17:07:39 2015 -0500 never resize client clip object --- src/bin/e_comp_object.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c index fea2f81..7832e0e 100644 --- a/src/bin/e_comp_object.c +++ b/src/bin/e_comp_object.c @@ -2069,7 +2069,6 @@ _e_comp_smart_resize(Evas_Object *obj, int w, int h) if (!cw-effect_obj) CRI(ACK!); first = ((cw-w 1) || (cw-h 1)); cw-w = w, cw-h = h; - evas_object_resize(cw-clip, cw-comp-man-w, cw-comp-man-h); if ((!cw-ec-shading) (!cw-ec-shaded)) { int ww, hh, pw, ph; --
[EGIT] [core/enlightenment] enlightenment-0.19 02/02: never resize client clip object
discomfitor pushed a commit to branch enlightenment-0.19. http://git.enlightenment.org/core/enlightenment.git/commit/?id=35e1e2488fa90d41fc1ef6b5a4e9d7332bc0076c commit 35e1e2488fa90d41fc1ef6b5a4e9d7332bc0076c Author: Mike Blumenkrantz zm...@osg.samsung.com Date: Wed Mar 4 17:07:39 2015 -0500 never resize client clip object --- src/bin/e_comp_object.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c index bd5a15b..442a926 100644 --- a/src/bin/e_comp_object.c +++ b/src/bin/e_comp_object.c @@ -2059,7 +2059,6 @@ _e_comp_smart_resize(Evas_Object *obj, int w, int h) if (!cw-effect_obj) CRI(ACK!); first = ((cw-w 1) || (cw-h 1)); cw-w = w, cw-h = h; - evas_object_resize(cw-clip, cw-comp-man-w, cw-comp-man-h); if ((!cw-ec-shading) (!cw-ec-shaded)) { int ww, hh, pw, ph; --
[EGIT] [apps/ephoto] master 01/01: Ephoto: Combine settings and about dialog. Read Authors from file.
okra pushed a commit to branch master. http://git.enlightenment.org/apps/ephoto.git/commit/?id=d678d7b45b9208066761903b3c62b70784c41e96 commit d678d7b45b9208066761903b3c62b70784c41e96 Author: Stephen Houston smhousto...@gmail.com Date: Wed Mar 4 16:29:21 2015 -0600 Ephoto: Combine settings and about dialog. Read Authors from file. --- Makefile.am | 3 + src/bin/ephoto.h| 1 - src/bin/ephoto_config.c | 160 +++- src/bin/ephoto_single_browser.c | 10 --- src/bin/ephoto_thumb_browser.c | 11 --- 5 files changed, 127 insertions(+), 58 deletions(-) diff --git a/Makefile.am b/Makefile.am index a02c518..3bbf2e9 100644 --- a/Makefile.am +++ b/Makefile.am @@ -70,3 +70,6 @@ endif EXTRA_DIST = README AUTHORS COPYING autogen.sh ephoto.spec ACLOCAL_AMFLAGS = -I m4 + +filesdir = $(datadir)/ephoto/ +files_DATA = AUTHORS COPYING diff --git a/src/bin/ephoto.h b/src/bin/ephoto.h index a9f5f39..818957c 100644 --- a/src/bin/ephoto.h +++ b/src/bin/ephoto.h @@ -41,7 +41,6 @@ Eina_Boolephoto_config_init(Ephoto *em); void ephoto_config_save(Ephoto *em); void ephoto_config_free(Ephoto *em); void ephoto_config_window(Ephoto *em); -void ephoto_about_window(Ephoto *em); Evas_Object *ephoto_single_browser_add(Ephoto *ephoto, Evas_Object *parent); void ephoto_single_browser_entry_set(Evas_Object *obj, Ephoto_Entry *entry); diff --git a/src/bin/ephoto_config.c b/src/bin/ephoto_config.c index 928f690..b62f622 100644 --- a/src/bin/ephoto_config.c +++ b/src/bin/ephoto_config.c @@ -75,9 +75,9 @@ ephoto_config_free(Ephoto *ephoto) static void _close(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { - Evas_Object *o = data; + Ephoto *ephoto = data; - evas_object_del(o); + evas_object_del(ephoto-config-window); } static void @@ -100,22 +100,19 @@ _hv_select(void *data EINA_UNUSED, Evas_Object *obj, void *event_info) elm_object_text_set(obj, elm_object_item_text_get(event_info)); } -void -ephoto_config_window(Ephoto *ephoto) +static Evas_Object * +_add_slideshow_config(Evas_Object *parent, Ephoto *ephoto) { - Evas_Object *win, *scroller, *box, *hbox, *table, *spinner, *hoversel, *ic, *button, *label; + Evas_Object *box, *scroller, *table, *label, *spinner, *hoversel, *hbox, *ic, *button; const Eina_List *l; const char *transition; - win = elm_win_inwin_add(ephoto-win); - evas_object_show(win); - - box = elm_box_add(win); + box = elm_box_add(parent); elm_box_horizontal_set(box, EINA_FALSE); evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL); - scroller = elm_scroller_add(win); + scroller = elm_scroller_add(box); evas_object_size_hint_weight_set(scroller, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(scroller, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(box, scroller); @@ -154,7 +151,7 @@ ephoto_config_window(Ephoto *ephoto) evas_object_show(label); hoversel = elm_hoversel_add(table); - elm_hoversel_hover_parent_set(hoversel, win); + elm_hoversel_hover_parent_set(hoversel, box); EINA_LIST_FOREACH(elm_slideshow_transitions_get(ephoto-slideshow), l, transition) elm_hoversel_item_add(hoversel, transition, NULL, 0, _hv_select, transition); elm_hoversel_item_add(hoversel, None, NULL, 0, _hv_select, NULL); @@ -172,7 +169,7 @@ ephoto_config_window(Ephoto *ephoto) elm_box_pack_end(box, hbox); evas_object_show(hbox); - ic = elm_icon_add(box); + ic = elm_icon_add(hbox); evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); elm_icon_standard_set(ic, stock_save); @@ -183,58 +180,90 @@ ephoto_config_window(Ephoto *ephoto) elm_box_pack_end(hbox, button); evas_object_show(button); - ic = elm_icon_add(box); + ic = elm_icon_add(hbox); evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); elm_icon_standard_set(ic, stock_close); button = elm_button_add(hbox); elm_object_text_set(button, Cancel); elm_object_part_content_set(button, icon, ic); - evas_object_smart_callback_add(button, clicked, _close, win); + evas_object_smart_callback_add(button, clicked, _close, ephoto); elm_box_pack_end(hbox, button); evas_object_show(button); - ephoto-config-window = win; - elm_win_inwin_content_set(win, box); - evas_object_show(box); + return box; } -void -ephoto_about_window(Ephoto *ephoto) +static Evas_Object * +_add_about_config(Evas_Object *parent, Ephoto *ephoto) { - Evas_Object *win, *scroller, *box, *ic, *button, *label; - - win = elm_win_inwin_add(ephoto-win); - evas_object_show(win); + Evas_Object *box, *scroller, *ic, *button, *label; + Eina_Strbuf *sbuf = eina_strbuf_new(); + FILE *f; - box = elm_box_add(win); + box =
Re: [E-devel] Elm_spinner focus UI, accessibility fix
Hi, On Wed, Mar 4, 2015 at 11:27 PM, SHILPA ONKAR SINGH shilpa.si...@samsung.com wrote: Basic reason to remove keybinding feature from spinner was because now its based totally on focus management and focus direction manager, we don't need keybinding here and this feature can be managed only by focus management. The arrows were images before, we made it buttons even the central text area part. Widgets like datetime, index etc:- don't use/need key bindings yes but removal of key bindings from config file is missed will update soon. Don't you think that at least PageUp/PageDown (if not Up/Down/Left/Right) should spin the spinner? Also, the mouse wheel now has no effect, how come? Those interactions, for a desktop UI, seem extremely important to me. Sure, the previous behaviour was inconsistent when considering up/down/left/right are used for focus (on top of the usual TAB), but the new behaviour really limits the usability as a desktop UI with standard mouse keyboard (more unintuitive keypresses are required now). Well, it's just my opinion, JP BR, Shilpa Singh --- Original Message --- Sender : Lukasz Stanislawskil.stanisl...@samsung.com Software Engineer/SRPOL-Native Apps Accessibility (TP)/Samsung Electronics Date : Mar 04, 2015 22:42 (GMT+09:00) Title : Re: [E-devel] Elm_spinner focus UI, accessibility fix This commit also removed keybinding feature from elm_spinner - I'm not sure if it is good or bad approach, but keybinding are used in almost every elm_widget. What is more elm_config still contains keybindings for Elm_Spinner. BR On 04.03.2015 13:19, rimmed wrote: Raster, you commited thatadfe7fbcd3f4146d84219de7dbb5a273d89f396e . Differential Revision:https://phab.enlightenment.org/D1911 This commit brokebackward compatibility with Elemenatry 1.10. Maybe need to change theme|version from 110 to 113? Best regards Viacheslav Reutskiy (rimmed) | -- 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 [cid:BGFC2LL5XOK0@namo.co.kr] [SeenTimeChecker?do=61dd5ae2e408a716246f4bc9e8146189b85c401faca14e38733afbaf 10963357ba777c355c197185c465c2cf80a2b7ef9aba4bb3b2b5ca43ddd7e184e0604d958075 b6b33f32d245b7f8aafe245478a5f1d21d5ebee74427cf878f9a26ce15a0] -- 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 -- Jean-Philippe André -- 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
Re: [E-devel] Elm_spinner focus UI, accessibility fix
On Thu, 05 Mar 2015 06:23:30 + (GMT) SHILPA ONKAR SINGH shilpa.si...@samsung.com said: i fixed the compatibility btw - and i kind of missed that - yes. it broke it, but i liked the better focus usability. i can focus the up/down arrows separately from the entry and actually enter a value which i couldn't before. imho it improved with this patch. Hi, With older spinner focus management, accessibility was really difficult as we used images for arrows and not buttons and the central part was simply text. When the arrows have to behave like buttons then why do we create our own button like UI using arrows? When we have focus management in place (may not be that great one as per cedric todo list) why we cannot make use of the same? so total revert In my opinion is not a good idea but yes then we may have to override normal focus management and write key binding function again and manage accordingly. but widget navigation has got easier with this patch and not difficult. I hope to receive more inputs related to below concerns so that we can address all and make a patch accordingly. BR, Shilpa Singh --- Original Message --- Sender : rimmedrim...@yandex.ru Date : Mar 05, 2015 14:50 (GMT+09:00) Title : Re: [E-devel] Elm_spinner focus UI, accessibility fix Hello On 03/05/2015 04:24 AM, Jean-Philippe André wrote: Hi, On Wed, Mar 4, 2015 at 11:27 PM, SHILPA ONKAR SINGH shilpa.si...@samsung.com wrote: Basic reason to remove keybinding feature from spinner was because now its based totally on focus management and focus direction manager, we don't need keybinding here and this feature can be managed only by focus management. The arrows were images before, we made it buttons even the central text area part. Widgets like datetime, index etc:- don't use/need key bindings yes but removal of key bindings from config file is missed will update soon. Don't you think that at least PageUp/PageDown (if not Up/Down/Left/Right) should spin the spinner? Also, the mouse wheel now has no effect, how come? Those interactions, for a desktop UI, seem extremely important to me. Sure, the previous behaviour was inconsistent when considering up/down/left/right are used for focus (on top of the usual TAB), but the new behaviour really limits the usability as a desktop UI with standard mouse keyboard (more unintuitive keypresses are required now). Well, it's just my opinion, JP Fully agree with JP. Really, need to improve the focus logic, as it's wrote Cedric in the efl TODO: https://phab.enlightenment.org/w/efl_todo/. /Elementary general improvement:/ Fix and improve elementary focus logic, by building a fully connected graph to ensure that their is no dark carner where you can't go to. This could be implemented in a few step. First cleanup current code, then implement graph computation on every change in the focus chain, with finally the focus being computed on demand. Also, try to use spinner in GUI like this: https://phab.enlightenment.org/file/data/ehjqvvazziewwun4xlwn/PHID-FILE-g2ro7gucfcztx4krhc3a/shot-2015-03-05_07-39-10.png With this commit navigation by widgets became a very difficult task. So, my opinion need to revert it, and improve the focus logic, don't change the widget logic. Viacheslav Reutskiy (rimmed) BR, Shilpa Singh --- Original Message --- Sender : Lukasz Stanislawski Software Engineer/SRPOL-Native Apps Accessibility (TP)/Samsung Electronics Date : Mar 04, 2015 22:42 (GMT+09:00) Title : Re: [E-devel] Elm_spinner focus UI, accessibility fix This commit also removed keybinding feature from elm_spinner - I'm not sure if it is good or bad approach, but keybinding are used in almost every elm_widget. What is more elm_config still contains keybindings for Elm_Spinner. BR On 04.03.2015 13:19, rimmed wrote: Raster, you commited thatadfe7fbcd3f4146d84219de7dbb5a273d89f396e . Differential Revision:https://phab.enlightenment.org/D1911 This commit brokebackward compatibility with Elemenatry 1.10. Maybe need to change theme|version from 110 to 113? Best regards Viacheslav Reutskiy (rimmed) | -- 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/
[EGIT] [core/efl] master 01/01: Evas GL: Fix CRI message on shutdown
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=fecc487b3b6dd5a45f28b8ff888446fbf4381c2c commit fecc487b3b6dd5a45f28b8ff888446fbf4381c2c Author: Jean-Philippe Andre jp.an...@samsung.com Date: Thu Mar 5 16:16:11 2015 +0900 Evas GL: Fix CRI message on shutdown Just a simple log domain issue (EvasGL was not initialized, so ERR() would trigger a fatal error). EvasGL is now initialized on demand when a new GL surface is requested. --- src/modules/evas/engines/gl_common/evas_gl_core.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/modules/evas/engines/gl_common/evas_gl_core.c b/src/modules/evas/engines/gl_common/evas_gl_core.c index e3bdccf..afa2a6f 100644 --- a/src/modules/evas/engines/gl_common/evas_gl_core.c +++ b/src/modules/evas/engines/gl_common/evas_gl_core.c @@ -1497,6 +1497,7 @@ evgl_engine_init(void *eng_data, const EVGL_Interface *efunc) return evgl_engine; error: + ERR(Failed to initialize EvasGL!); if (evgl_engine) { eina_hash_free(evgl_engine-safe_extensions); @@ -1518,7 +1519,7 @@ evgl_engine_shutdown(void *eng_data) // Check if engine is valid if (!evgl_engine) { -ERR(EVGL Engine not valid!); +EINA_LOG_INFO(EvasGL Engine is not initialized.); return; } --
Re: [E-devel] Elm_spinner focus UI, accessibility fix
I think that navigation by part of widget is a wrong. Focus should to jump from widget to widget. If you want to navigate by widget part need to use the key binding. Now you need to press the TAB 3 times for move focus from spinner to next widget, it's really difficult (uncomfortably) to use. On 03/05/2015 08:40 AM, Carsten Haitzler (The Rasterman) wrote: On Thu, 05 Mar 2015 06:23:30 + (GMT) SHILPA ONKAR SINGH shilpa.si...@samsung.com said: i fixed the compatibility btw - and i kind of missed that - yes. it broke it, but i liked the better focus usability. i can focus the up/down arrows separately from the entry and actually enter a value which i couldn't before. imho it improved with this patch. Hi, With older spinner focus management, accessibility was really difficult as we used images for arrows and not buttons and the central part was simply text. When the arrows have to behave like buttons then why do we create our own button like UI using arrows? When we have focus management in place (may not be that great one as per cedric todo list) why we cannot make use of the same? so total revert In my opinion is not a good idea but yes then we may have to override normal focus management and write key binding function again and manage accordingly. but widget navigation has got easier with this patch and not difficult. I hope to receive more inputs related to below concerns so that we can address all and make a patch accordingly. BR, Shilpa Singh --- Original Message --- Sender : rimmedrim...@yandex.ru Date : Mar 05, 2015 14:50 (GMT+09:00) Title : Re: [E-devel] Elm_spinner focus UI, accessibility fix Hello On 03/05/2015 04:24 AM, Jean-Philippe André wrote: Hi, On Wed, Mar 4, 2015 at 11:27 PM, SHILPA ONKAR SINGH shilpa.si...@samsung.com wrote: Basic reason to remove keybinding feature from spinner was because now its based totally on focus management and focus direction manager, we don't need keybinding here and this feature can be managed only by focus management. The arrows were images before, we made it buttons even the central text area part. Widgets like datetime, index etc:- don't use/need key bindings yes but removal of key bindings from config file is missed will update soon. Don't you think that at least PageUp/PageDown (if not Up/Down/Left/Right) should spin the spinner? Also, the mouse wheel now has no effect, how come? Those interactions, for a desktop UI, seem extremely important to me. Sure, the previous behaviour was inconsistent when considering up/down/left/right are used for focus (on top of the usual TAB), but the new behaviour really limits the usability as a desktop UI with standard mouse keyboard (more unintuitive keypresses are required now). Well, it's just my opinion, JP Fully agree with JP. Really, need to improve the focus logic, as it's wrote Cedric in the efl TODO: https://phab.enlightenment.org/w/efl_todo/. /Elementary general improvement:/ Fix and improve elementary focus logic, by building a fully connected graph to ensure that their is no dark carner where you can't go to. This could be implemented in a few step. First cleanup current code, then implement graph computation on every change in the focus chain, with finally the focus being computed on demand. Also, try to use spinner in GUI like this: https://phab.enlightenment.org/file/data/ehjqvvazziewwun4xlwn/PHID-FILE-g2ro7gucfcztx4krhc3a/shot-2015-03-05_07-39-10.png With this commit navigation by widgets became a very difficult task. So, my opinion need to revert it, and improve the focus logic, don't change the widget logic. Viacheslav Reutskiy (rimmed) BR, Shilpa Singh --- Original Message --- Sender : Lukasz Stanislawski Software Engineer/SRPOL-Native Apps Accessibility (TP)/Samsung Electronics Date : Mar 04, 2015 22:42 (GMT+09:00) Title : Re: [E-devel] Elm_spinner focus UI, accessibility fix This commit also removed keybinding feature from elm_spinner - I'm not sure if it is good or bad approach, but keybinding are used in almost every elm_widget. What is more elm_config still contains keybindings for Elm_Spinner. BR On 04.03.2015 13:19, rimmed wrote: Raster, you commited thatadfe7fbcd3f4146d84219de7dbb5a273d89f396e . Differential Revision:https://phab.enlightenment.org/D1911 This commit brokebackward compatibility with Elemenatry 1.10. Maybe need to change theme|version from 110 to 113? Best regards Viacheslav Reutskiy (rimmed) | -- Dive into the World of Parallel Programming The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is
Re: [E-devel] [RFC] Emile
Hi Cedric, Just to let you know I'm trying to review whenever I have some time. Since we will meet next week, we can discuss it IRL. So far I don't have anything to comment specifically though. Apparently no one else can be bothered to go through your massive change all at once. That's the drawback of branches I guess :) Best regards, On Sun, Mar 1, 2015 at 11:17 PM, Cedric BAIL cedric.b...@free.fr wrote: Hello, I have been working for a long time on refactoring our compression and ciphering code into a library that I named emile. It is available for review in my branch devs/cedric/emile. Please give it a look, it is nearing readiness for inclusion. Maybe for later this week if nothing big come from the review. The library provide so far JPEG and ETC based codec for lossy format. It provide an easy to use Eina_Binbuf for Zlib and LZ4 lossless decompression. There is also currently 2 crypto backend, one with gnutls and another one with openssl. What is done : - One colorspace definition to unite them all (Eet and Evas for now). - Full refactoring using provided Emile functions of Eet and Evas. - Improved logic to open JPEG in ARGB, GRY8 and AGRY88. - Optimistic initialization of GNUTLS/OpenSSL (This solve the issue of using GNUTLS backend with root binary and improve the startup time of efl). What is not done : - Migrating Ecore_Con_SSL to use Emile. That's why the relevant Emile API is marked as beta and is not documented. - There is no Emile code for saving image yet, only loader. Reason is that the loader API is pretty similar in Eet and Evas. It has been used with little change over a long period of time and is quite straight forward to abstract in a common piece of code. This is not the same for saver, so that's on the side for now. - There is yet no serializer in Emile. This code already has some benefit to be included and the todo is going to expand over time as we identify more common pattern among our library, so waiting for it to be done doesn't make sense. This library doesn't introduce new dependencies (as it is only a refactoring) and actually reduce the overall code we have. This is also a low level library that could be used by anything above Eina. That's why it doesn't use Eo or any of the above stack and it is not planned to change as I want to be able to use some of this code in Eo at some point. Have fun, -- Cedric BAIL -- 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 -- Jean-Philippe André -- 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] Elm_spinner focus UI, accessibility fix
Hi, With older spinner focus management, accessibility was really difficult as we used images for arrows and not buttons and the central part was simply text. When the arrows have to behave like buttons then why do we create our own button like UI using arrows? When we have focus management in place (may not be that great one as per cedric todo list) why we cannot make use of the same? so total revert In my opinion is not a good idea but yes then we may have to override normal focus management and write key binding function again and manage accordingly. but widget navigation has got easier with this patch and not difficult. I hope to receive more inputs related to below concerns so that we can address all and make a patch accordingly. BR, Shilpa Singh --- Original Message --- Sender : rimmedrim...@yandex.ru Date : Mar 05, 2015 14:50 (GMT+09:00) Title : Re: [E-devel] Elm_spinner focus UI, accessibility fix Hello On 03/05/2015 04:24 AM, Jean-Philippe André wrote: Hi, On Wed, Mar 4, 2015 at 11:27 PM, SHILPA ONKAR SINGH shilpa.si...@samsung.com wrote: Basic reason to remove keybinding feature from spinner was because now its based totally on focus management and focus direction manager, we don't need keybinding here and this feature can be managed only by focus management. The arrows were images before, we made it buttons even the central text area part. Widgets like datetime, index etc:- don't use/need key bindings yes but removal of key bindings from config file is missed will update soon. Don't you think that at least PageUp/PageDown (if not Up/Down/Left/Right) should spin the spinner? Also, the mouse wheel now has no effect, how come? Those interactions, for a desktop UI, seem extremely important to me. Sure, the previous behaviour was inconsistent when considering up/down/left/right are used for focus (on top of the usual TAB), but the new behaviour really limits the usability as a desktop UI with standard mouse keyboard (more unintuitive keypresses are required now). Well, it's just my opinion, JP Fully agree with JP. Really, need to improve the focus logic, as it's wrote Cedric in the efl TODO: https://phab.enlightenment.org/w/efl_todo/. /Elementary general improvement:/ Fix and improve elementary focus logic, by building a fully connected graph to ensure that their is no dark carner where you can't go to. This could be implemented in a few step. First cleanup current code, then implement graph computation on every change in the focus chain, with finally the focus being computed on demand. Also, try to use spinner in GUI like this: https://phab.enlightenment.org/file/data/ehjqvvazziewwun4xlwn/PHID-FILE-g2ro7gucfcztx4krhc3a/shot-2015-03-05_07-39-10.png With this commit navigation by widgets became a very difficult task. So, my opinion need to revert it, and improve the focus logic, don't change the widget logic. Viacheslav Reutskiy (rimmed) BR, Shilpa Singh --- Original Message --- Sender : Lukasz Stanislawski Software Engineer/SRPOL-Native Apps Accessibility (TP)/Samsung Electronics Date : Mar 04, 2015 22:42 (GMT+09:00) Title : Re: [E-devel] Elm_spinner focus UI, accessibility fix This commit also removed keybinding feature from elm_spinner - I'm not sure if it is good or bad approach, but keybinding are used in almost every elm_widget. What is more elm_config still contains keybindings for Elm_Spinner. BR On 04.03.2015 13:19, rimmed wrote: Raster, you commited thatadfe7fbcd3f4146d84219de7dbb5a273d89f396e . Differential Revision:https://phab.enlightenment.org/D1911 This commit brokebackward compatibility with Elemenatry 1.10. Maybe need to change theme|version from 110 to 113? Best regards Viacheslav Reutskiy (rimmed) | -- 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
Re: [E-devel] Have E suspend on lid close only while running from battery?
On Sat, 21 Feb 2015 18:28:03 -0600 Jeff Hoogland jeffhoogl...@linux.com said: Is there an option in E to have it only run the ACPI binding when running from battery to suspend on lid close? i added a smart suspend action (and smart hibernate too) - it does this (as well as not suspend on lid close if an external screen is configured and enabled). -- ~Jeff Hoogland http://jeffhoogland.com/ My Projects on GitHub https://github.com/JeffHoogland -- Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=190641631iu=/4140/ostg.clktrk ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- - Codito, ergo sum - I code, therefore I am -- The Rasterman (Carsten Haitzler)ras...@rasterman.com -- 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] Interested in Becoming A Developer
Hello, I have been communicating with Jeff Hoogland of Bodhi Linux regarding my interest in becoming involved in his effort. After explaining my background and interests to him (do you need these as well?) he suggested I contact the developers here. Please advise. Thank you, Rick -- 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] Elm_spinner focus UI, accessibility fix
Hello On 03/05/2015 04:24 AM, Jean-Philippe André wrote: Hi, On Wed, Mar 4, 2015 at 11:27 PM, SHILPA ONKAR SINGH shilpa.si...@samsung.com wrote: Basic reason to remove keybinding feature from spinner was because now its based totally on focus management and focus direction manager, we don't need keybinding here and this feature can be managed only by focus management. The arrows were images before, we made it buttons even the central text area part. Widgets like datetime, index etc:- don't use/need key bindings yes but removal of key bindings from config file is missed will update soon. Don't you think that at least PageUp/PageDown (if not Up/Down/Left/Right) should spin the spinner? Also, the mouse wheel now has no effect, how come? Those interactions, for a desktop UI, seem extremely important to me. Sure, the previous behaviour was inconsistent when considering up/down/left/right are used for focus (on top of the usual TAB), but the new behaviour really limits the usability as a desktop UI with standard mouse keyboard (more unintuitive keypresses are required now). Well, it's just my opinion, JP Fully agree with JP. Really, need to improve the focus logic, as it's wrote Cedric in the efl TODO: https://phab.enlightenment.org/w/efl_todo/. /Elementary general improvement:/ Fix and improve elementary focus logic, by building a fully connected graph to ensure that their is no dark carner where you can't go to. This could be implemented in a few step. First cleanup current code, then implement graph computation on every change in the focus chain, with finally the focus being computed on demand. Also, try to use spinner in GUI like this: https://phab.enlightenment.org/file/data/ehjqvvazziewwun4xlwn/PHID-FILE-g2ro7gucfcztx4krhc3a/shot-2015-03-05_07-39-10.png With this commit navigation by widgets became a very difficult task. So, my opinion need to revert it, and improve the focus logic, don't change the widget logic. Viacheslav Reutskiy (rimmed) BR, Shilpa Singh --- Original Message --- Sender : Lukasz Stanislawskil.stanisl...@samsung.com Software Engineer/SRPOL-Native Apps Accessibility (TP)/Samsung Electronics Date : Mar 04, 2015 22:42 (GMT+09:00) Title : Re: [E-devel] Elm_spinner focus UI, accessibility fix This commit also removed keybinding feature from elm_spinner - I'm not sure if it is good or bad approach, but keybinding are used in almost every elm_widget. What is more elm_config still contains keybindings for Elm_Spinner. BR On 04.03.2015 13:19, rimmed wrote: Raster, you commited thatadfe7fbcd3f4146d84219de7dbb5a273d89f396e . Differential Revision:https://phab.enlightenment.org/D1911 This commit brokebackward compatibility with Elemenatry 1.10. Maybe need to change theme|version from 110 to 113? Best regards Viacheslav Reutskiy (rimmed) | -- 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 [cid:BGFC2LL5XOK0@namo.co.kr] [SeenTimeChecker?do=61dd5ae2e408a716246f4bc9e8146189b85c401faca14e38733afbaf 10963357ba777c355c197185c465c2cf80a2b7ef9aba4bb3b2b5ca43ddd7e184e0604d958075 b6b33f32d245b7f8aafe245478a5f1d21d5ebee74427cf878f9a26ce15a0] -- 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
Re: [E-devel] Interested in Becoming A Developer
On Wed, 4 Mar 2015 22:00:53 -0500 Rick Van Camp ravc0...@gmail.com said: Hello, I have been communicating with Jeff Hoogland of Bodhi Linux regarding my interest in becoming involved in his effort. After explaining my background and interests to him (do you need these as well?) he suggested I contact the developers here. you already started. first by joining this mailing list, prbably next by joining irc (freenode, #e and #edevelop). then really.. decide what you want to do - before you start, it might be good to talk about it. just to ensure you go the right direction. e.g. dont make something that will. be rejected out of just the principal on what it is or how it works by design. you may have an opportunity to convince people of your differing ideas and why they are best. doesn't always work though. and really - do stuff. phab.enlightenment.org has a patch review process set up. we can be a bit laggy on review, but it eventually gets done. if you submit enough patches that end up being good out of the box needing no changes and you ask - you can get direct commit access. -- - Codito, ergo sum - I code, therefore I am -- The Rasterman (Carsten Haitzler)ras...@rasterman.com -- 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/elementary] master 01/01: elm spinner - add backwards compat for older spinner themes
raster pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=ada4c48cc46259a180c33cb04a7b96af5a03cd00 commit ada4c48cc46259a180c33cb04a7b96af5a03cd00 Author: Carsten Haitzler (Rasterman) ras...@rasterman.com Date: Thu Mar 5 15:14:34 2015 +0900 elm spinner - add backwards compat for older spinner themes this makes spinenr work with previous themes after adfe7fbcd3f4146d84219de7dbb5a273d89f396e commit --- data/themes/edc/elm/spinner.edc | 31 +-- src/lib/elm_spinner.c | 464 ++-- src/lib/elm_spinner.eo | 2 + src/lib/elm_widget_spinner.h| 1 + 4 files changed, 414 insertions(+), 84 deletions(-) diff --git a/data/themes/edc/elm/spinner.edc b/data/themes/edc/elm/spinner.edc index ca87047..b34eada 100644 --- a/data/themes/edc/elm/spinner.edc +++ b/data/themes/edc/elm/spinner.edc @@ -32,14 +32,17 @@ group { name: elm/spinner/base/default; visible: 1; } } - part { name: elm.dragable.slider; type: RECT; - dragable.x: 1 1 0; - dragable.y: 0 0 0; + part { name: elm.swallow.entry; + type: SWALLOW; description { state: default 0.0; fixed: 1 0; -rel1.to: inset; -rel2.to: inset; -color: 0 0 0 0; +rel1.to: elm.swallow.text_button; +rel2.to: elm.swallow.text_button; +visible: 0; + } + description { state: active 0.0; +inherit: default 0.0; +visible: 1; } } part { name: elm.swallow.dec_button; @@ -89,17 +92,15 @@ group { name: elm/spinner/base/default; visible: 0; } } - part { name: elm.swallow.entry; - type: SWALLOW; + part { name: elm.dragable.slider; type: RECT; + repeat_events: 1; + dragable.x: 1 1 0; + dragable.y: 0 0 0; description { state: default 0.0; fixed: 1 0; -rel1.to: elm.swallow.text_button; -rel2.to: elm.swallow.text_button; -visible: 0; - } - description { state: active 0.0; -inherit: default 0.0; -visible: 1; +rel1.to: inset; +rel2.to: inset; +color: 0 0 0 0; } } part { name: disabler; diff --git a/src/lib/elm_spinner.c b/src/lib/elm_spinner.c index 51668fb..c3ed345 100644 --- a/src/lib/elm_spinner.c +++ b/src/lib/elm_spinner.c @@ -38,6 +38,15 @@ static const Evas_Smart_Cb_Description _smart_callbacks[] = { {NULL, NULL} }; +static Eina_Bool _key_action_spin(Evas_Object *obj, const char *params); +static Eina_Bool _key_action_toggle(Evas_Object *obj, const char *params); + +static const Elm_Action key_actions[] = { + {spin, _key_action_spin}, + {toggle, _key_action_toggle}, + {NULL, NULL} +}; + static void _access_increment_decrement_info_say(Evas_Object *obj, Eina_Bool is_incremented); @@ -109,7 +118,10 @@ _label_write(Evas_Object *obj) snprintf(buf, sizeof(buf), %.0f, sd-val); apply: - elm_layout_text_set(sd-text_button, elm.text, buf); + if (sd-button_layout) + elm_layout_text_set(sd-text_button, elm.text, buf); + else + elm_layout_text_set(obj, elm.text, buf); elm_interface_atspi_accessible_name_changed_signal_emit(obj); if (sd-entry_visible) _entry_show(sd); } @@ -193,12 +205,18 @@ _drag_cb(void *data, if (sd-entry_visible) return; - if (!strncmp(elm_widget_style_get(obj), vertical, 8)) - eo_do((Eo *)wd-resize_obj, - edje_obj_part_drag_value_get(elm.dragable.slider, NULL, pos)); + if (sd-button_layout) + { +if (!strncmp(elm_widget_style_get(obj), vertical, 8)) + eo_do((Eo *)wd-resize_obj, +edje_obj_part_drag_value_get(elm.dragable.slider, NULL, pos)); +else + eo_do((Eo *)wd-resize_obj, +edje_obj_part_drag_value_get(elm.dragable.slider, pos, NULL)); + } else eo_do((Eo *)wd-resize_obj, - edje_obj_part_drag_value_get(elm.dragable.slider, pos, NULL)); + edje_obj_part_drag_value_get(elm.dragable.slider, pos, NULL)); delta = pos * sd-step * _elm_config-scale; /* If we are on rtl mode, change the delta to be negative on such changes */ @@ -241,8 +259,13 @@ _entry_hide(Evas_Object *obj) { ELM_SPINNER_DATA_GET(obj, sd); - elm_layout_signal_emit(obj, elm,state,entry,inactive, elm); - elm_layout_signal_emit(obj, elm,state,button,active, elm); + if (sd-button_layout) + { +elm_layout_signal_emit(obj, elm,state,entry,inactive, elm); +elm_layout_signal_emit(obj, elm,state,button,active, elm); + } + else + elm_layout_signal_emit(obj, elm,state,inactive, elm); sd-entry_visible = EINA_FALSE; } @@ -311,17 +334,28 @@ _toggle_entry(Evas_Object *obj) if
Re: [E-devel] [RFC] Emile
Le 5 mars 2015 06:26, Jean-Philippe André j...@videolan.org a écrit : Hi Cedric, Just to let you know I'm trying to review whenever I have some time. Since we will meet next week, we can discuss it IRL. So far I don't have anything to comment specifically though. Thanks for starting to look it. It's likely I won't have much time before we see each other. Apparently no one else can be bothered to go through your massive change all at once. That's the drawback of branches I guess :) And this one is small ! Still Vincent did review it already and reported quite a few things that are fixed already. I am wondering how the next one, evas vg is going to be reviewed, most people can't be bothered... Thanks, Cedric Best regards, On Sun, Mar 1, 2015 at 11:17 PM, Cedric BAIL cedric.b...@free.fr wrote: Hello, I have been working for a long time on refactoring our compression and ciphering code into a library that I named emile. It is available for review in my branch devs/cedric/emile. Please give it a look, it is nearing readiness for inclusion. Maybe for later this week if nothing big come from the review. The library provide so far JPEG and ETC based codec for lossy format. It provide an easy to use Eina_Binbuf for Zlib and LZ4 lossless decompression. There is also currently 2 crypto backend, one with gnutls and another one with openssl. What is done : - One colorspace definition to unite them all (Eet and Evas for now). - Full refactoring using provided Emile functions of Eet and Evas. - Improved logic to open JPEG in ARGB, GRY8 and AGRY88. - Optimistic initialization of GNUTLS/OpenSSL (This solve the issue of using GNUTLS backend with root binary and improve the startup time of efl). What is not done : - Migrating Ecore_Con_SSL to use Emile. That's why the relevant Emile API is marked as beta and is not documented. - There is no Emile code for saving image yet, only loader. Reason is that the loader API is pretty similar in Eet and Evas. It has been used with little change over a long period of time and is quite straight forward to abstract in a common piece of code. This is not the same for saver, so that's on the side for now. - There is yet no serializer in Emile. This code already has some benefit to be included and the todo is going to expand over time as we identify more common pattern among our library, so waiting for it to be done doesn't make sense. This library doesn't introduce new dependencies (as it is only a refactoring) and actually reduce the overall code we have. This is also a low level library that could be used by anything above Eina. That's why it doesn't use Eo or any of the above stack and it is not planned to change as I want to be able to use some of this code in Eo at some point. Have fun, -- Cedric BAIL -- 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 -- Jean-Philippe André -- 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/elementary] master 01/01: elm - focus feature - add config option to automatically show/hide focus
raster pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=c4a1e50c4ff519be95491f1b02700e01866d6db0 commit c4a1e50c4ff519be95491f1b02700e01866d6db0 Author: Carsten Haitzler (Rasterman) ras...@rasterman.com Date: Wed Mar 4 17:47:54 2015 +0900 elm - focus feature - add config option to automatically show/hide focus this adds logic in elm widget and elm win to figure out how to automatically show a focus hilight when switching focus, or to hide it. this really should be the default mode, thus in all default profiles (default, standard, mobile) it's turned on. this means if you tab or shif+tab or use arrow keys to switch focus, the focus hilight will magicallly appear. click with a mouse to change focus and it'll disappear assuming you want to use the mouse to do things. If focus is explicitly turned on in config or in the window by api, then this has no effect and focus will remain on all the time. this adds apis to change these config values and options in the default elm config tool to swizzle them as well as config upgrade handling for existing configs. @feature --- config/default/base.src.in | 4 +++- config/mobile/base.src.in | 4 +++- config/standard/base.src.in | 4 +++- src/bin/config.c| 34 src/lib/elm_config.c| 32 ++ src/lib/elm_config.h| 48 + src/lib/elm_priv.h | 4 +++- src/lib/elm_widget.c| 4 src/lib/elm_widget.h| 2 ++ src/lib/elm_win.c | 45 +- 10 files changed, 172 insertions(+), 9 deletions(-) diff --git a/config/default/base.src.in b/config/default/base.src.in index e29aeb2..a0245f3 100644 --- a/config/default/base.src.in +++ b/config/default/base.src.in @@ -1,5 +1,5 @@ group Elm_Config struct { - value config_version int: 131073; + value config_version int: 131074; value engine string: ; value vsync uchar: 0; value thumbscroll_enable uchar: 1; @@ -94,6 +94,8 @@ group Elm_Config struct { value audio_mute_input uchar: 0; value audio_mute_alert uchar: 0; value audio_mute_all uchar: 0; + value win_auto_focus_enable uchar: 1; + value win_auto_focus_animate uchar: 1; group color_palette list { group Elm_Custom_Palette struct { value palette_name string: default; diff --git a/config/mobile/base.src.in b/config/mobile/base.src.in index ee09115..e9db0a2 100644 --- a/config/mobile/base.src.in +++ b/config/mobile/base.src.in @@ -1,5 +1,5 @@ group Elm_Config struct { - value config_version int: 131073; + value config_version int: 131074; value engine string: ; value vsync uchar: 0; value thumbscroll_enable uchar: 1; @@ -98,6 +98,8 @@ group Elm_Config struct { value audio_mute_input uchar: 0; value audio_mute_alert uchar: 0; value audio_mute_all uchar: 0; + value win_auto_focus_enable uchar: 1; + value win_auto_focus_animate uchar: 1; group color_palette list { group Elm_Custom_Palette struct { value palette_name string: default; diff --git a/config/standard/base.src.in b/config/standard/base.src.in index 2ee0271..9cae3a1 100644 --- a/config/standard/base.src.in +++ b/config/standard/base.src.in @@ -1,5 +1,5 @@ group Elm_Config struct { - value config_version int: 131073; + value config_version int: 131074; value engine string: ; value vsync uchar: 0; value thumbscroll_enable uchar: 0; @@ -95,6 +95,8 @@ group Elm_Config struct { value audio_mute_input uchar: 0; value audio_mute_alert uchar: 0; value audio_mute_all uchar: 0; + value win_auto_focus_enable uchar: 1; + value win_auto_focus_animate uchar: 1; group color_palette list { group Elm_Custom_Palette struct { value palette_name string: default; diff --git a/src/bin/config.c b/src/bin/config.c index 85f1743..1663d4d 100644 --- a/src/bin/config.c +++ b/src/bin/config.c @@ -1585,6 +1585,30 @@ _status_config_focus_autoscroll_changed_cb(void *data EINA_UNUSED, } static void +_config_focus_auto_show_cb(void *data EINA_UNUSED, Evas_Object *obj, + void *event_info EINA_UNUSED) +{ + Eina_Bool cf = elm_config_window_auto_focus_enable_get(); + Eina_Bool val = elm_check_state_get(obj); + + if (cf == val) return; + elm_config_window_auto_focus_enable_set(val); + elm_config_all_flush(); +} + +static void +_config_focus_auto_animate_cb(void *data EINA_UNUSED, Evas_Object *obj, + void *event_info EINA_UNUSED) +{ + Eina_Bool cf = elm_config_window_auto_focus_animate_get(); + Eina_Bool val = elm_check_state_get(obj); + + if (cf == val) return; + elm_config_window_auto_focus_animate_set(val); + elm_config_all_flush(); +} + +static void _status_config_focus(Evas_Object *win, Evas_Object *naviframe) { @@ -1618,6
[EGIT] [core/efl] master 03/03: Evas GL common: Disable evas gl preload by default
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=f020171bf2fca0c2f30199904798b79dba929c65 commit f020171bf2fca0c2f30199904798b79dba929c65 Author: Jean-Philippe Andre jp.an...@samsung.com Date: Wed Mar 4 17:11:26 2015 +0900 Evas GL common: Disable evas gl preload by default Unfortunately, this feature has many problems and does not really fix those it was supposed to address: - Elm Photocam becomes horrible to use (the transition from low-res to high-res tiles triggers this miniature path). - Evas async preload callback is called before the full image is ready (ie. the texture is not uploaded yet), when really the preload callback should be triggered only once the image is 100% ready. (TODO) - Sometimes the miniature image keeps being used even though the main image has been uploaded (eg. with E background). Maybe the object image is not redrawn when it should. - This uses a separate thread for the upload, which is both a good and bad idea because we need to do a make current. Also, this does not upload the full-res image tile by tile, but only in one pass, thus blocking the render loop until finished. This patch changes the env var from EVAS_GL_NOPRELOAD to EVAS_GL_PRELOAD (and only 1 will enable). Sorry Cedric, we can talk later about how to improve this. --- src/modules/evas/engines/gl_common/evas_gl_common.h | 5 +++-- src/modules/evas/engines/gl_common/evas_gl_preload.c | 12 ++-- src/modules/evas/engines/gl_common/evas_gl_texture.c | 5 - 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/modules/evas/engines/gl_common/evas_gl_common.h b/src/modules/evas/engines/gl_common/evas_gl_common.h index 3602319..24e926f 100644 --- a/src/modules/evas/engines/gl_common/evas_gl_common.h +++ b/src/modules/evas/engines/gl_common/evas_gl_common.h @@ -659,8 +659,9 @@ EAPI void evas_gl_common_image_native_disable(Evas_GL_Image *im); EAPI void evas_gl_common_image_free(Evas_GL_Image *im); EAPI void evas_gl_common_image_native_enable(Evas_GL_Image *im); -EAPI int evas_gl_preload_init(void); -EAPI int evas_gl_preload_shutdown(void); +EAPI int evas_gl_preload_init(void); +EAPI int evas_gl_preload_shutdown(void); +EAPI Eina_Boolevas_gl_preload_enabled(void); EAPI Evas_Engine_GL_Context *evas_gl_common_context_new(void); diff --git a/src/modules/evas/engines/gl_common/evas_gl_preload.c b/src/modules/evas/engines/gl_common/evas_gl_preload.c index 17836c2..5344473 100644 --- a/src/modules/evas/engines/gl_common/evas_gl_preload.c +++ b/src/modules/evas/engines/gl_common/evas_gl_preload.c @@ -351,7 +351,8 @@ evas_gl_preload_target_unregister(Evas_GL_Texture *tex, Eo *target) EAPI int evas_gl_preload_init(void) { - if (getenv(EVAS_GL_NOPRELOAD)) return 0; + const char *s = getenv(EVAS_GL_PRELOAD); + if (!s || (atoi(s) != 1)) return 0; if (async_loader_init++) return async_loader_init; eina_lock_new(async_loader_lock); @@ -368,7 +369,8 @@ evas_gl_preload_init(void) EAPI int evas_gl_preload_shutdown(void) { - if (getenv(EVAS_GL_NOPRELOAD)) return 0; + const char *s = getenv(EVAS_GL_PRELOAD); + if (!s || (atoi(s) != 1)) return 0; if (--async_loader_init) return async_loader_init; async_loader_exit = EINA_TRUE; @@ -381,3 +383,9 @@ evas_gl_preload_shutdown(void) return async_loader_init; } + +EAPI Eina_Bool +evas_gl_preload_enabled(void) +{ + return (async_loader_init = 1); +} diff --git a/src/modules/evas/engines/gl_common/evas_gl_texture.c b/src/modules/evas/engines/gl_common/evas_gl_texture.c index 6c3b034..4f0c0b3 100644 --- a/src/modules/evas/engines/gl_common/evas_gl_texture.c +++ b/src/modules/evas/engines/gl_common/evas_gl_texture.c @@ -1267,7 +1267,10 @@ evas_gl_common_texture_update(Evas_GL_Texture *tex, RGBA_Image *im) } // if preloaded, then async push it in after uploading a miniature of it - if (im-cache_entry.flags.preload_done tex-w 2 * EVAS_GL_TILE_SIZE tex-h 2 * EVAS_GL_TILE_SIZE) + if (im-cache_entry.flags.preload_done +(tex-w (2 * EVAS_GL_TILE_SIZE)) +(tex-h (2 * EVAS_GL_TILE_SIZE)) +evas_gl_preload_enabled()) { Evas_GL_Texture_Async_Preload *async; unsigned char *in; --
Re: [E-devel] [EGIT] [core/efl] master 01/01: Use doubles to store libinput's mouse motion
Commit guidelines. Mike, when you review commits, make sure they conform to our commit guidelines. In this case, the summary line. This is not a single instance, I've seen others too. On 27/02/15 15:46, Derek Foreman wrote: devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=95cb1938c22664095675ca21649856371385f393 commit 95cb1938c22664095675ca21649856371385f393 Author: Derek Foreman der...@osg.samsung.com Date: Fri Feb 27 10:40:38 2015 -0500 Use doubles to store libinput's mouse motion Summary: Using can result in motion being completely discarded. Since we only need integer data, we also only actually forward on an event when the mouse moves more than a full unit. Reviewers: zmike, devilhorns Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D2062 --- src/lib/ecore_drm/ecore_drm_evdev.c | 75 +-- src/lib/ecore_drm/ecore_drm_private.h | 3 +- 2 files changed, 47 insertions(+), 31 deletions(-) diff --git a/src/lib/ecore_drm/ecore_drm_evdev.c b/src/lib/ecore_drm/ecore_drm_evdev.c index 8320c30..054858a 100644 --- a/src/lib/ecore_drm/ecore_drm_evdev.c +++ b/src/lib/ecore_drm/ecore_drm_evdev.c @@ -347,15 +347,16 @@ _device_pointer_motion(Ecore_Drm_Evdev *edev, struct libinput_event_pointer *eve if ((output = edev-output)) { -if (edev-mouse.x output-x) - edev-mouse.x = output-x; -else if (edev-mouse.x = (output-x + output-current_mode-width)) - edev-mouse.x = (output-x + output-current_mode-width - 1); - -if (edev-mouse.y output-y) - edev-mouse.y = output-y; -else if (edev-mouse.y = (output-y + output-current_mode-height)) - edev-mouse.y = (output-y + output-current_mode-height - 1); +if (edev-mouse.ix output-x) + edev-mouse.dx = edev-mouse.ix = output-x; +else if (edev-mouse.ix = (output-x + output-current_mode-width)) + edev-mouse.dx = + edev-mouse.ix = (output-x + output-current_mode-width - 1); + +if (edev-mouse.iy output-y) + edev-mouse.dy = edev-mouse.iy = output-y; +else if (edev-mouse.iy = (output-y + output-current_mode-height)) + edev-mouse.dy = edev-mouse.iy = (output-y + output-current_mode-height - 1); } ev-window = (Ecore_Window)input-dev-window; @@ -367,8 +368,8 @@ _device_pointer_motion(Ecore_Drm_Evdev *edev, struct libinput_event_pointer *eve _device_modifiers_update(edev); ev-modifiers = edev-xkb.modifiers; - ev-x = edev-mouse.x; - ev-y = edev-mouse.y; + ev-x = edev-mouse.ix; + ev-y = edev-mouse.iy; ev-root.x = ev-x; ev-root.y = ev-y; @@ -393,10 +394,15 @@ _device_handle_pointer_motion(struct libinput_device *device, struct libinput_ev if (!(edev = libinput_device_get_user_data(device))) return; - edev-mouse.x += libinput_event_pointer_get_dx(event); - edev-mouse.y += libinput_event_pointer_get_dy(event); + edev-mouse.dx += libinput_event_pointer_get_dx(event); + edev-mouse.dy += libinput_event_pointer_get_dy(event); - _device_pointer_motion(edev, event); + if (floor(edev-mouse.dx) == edev-mouse.ix + floor(edev-mouse.dy) == edev-mouse.iy) return; + + edev-mouse.ix = edev-mouse.dx; + edev-mouse.iy = edev-mouse.dy; + _device_pointer_motion(edev, event); } static void @@ -406,13 +412,16 @@ _device_handle_pointer_motion_absolute(struct libinput_device *device, struct li if (!(edev = libinput_device_get_user_data(device))) return; - edev-mouse.x = - libinput_event_pointer_get_absolute_x_transformed(event, + edev-mouse.dx = + libinput_event_pointer_get_absolute_x_transformed(event, edev-output-current_mode-width); - edev-mouse.y = - libinput_event_pointer_get_absolute_y_transformed(event, + edev-mouse.dy = + libinput_event_pointer_get_absolute_y_transformed(event, edev-output-current_mode-height); + if (floor(edev-mouse.dx) == edev-mouse.ix + floor(edev-mouse.dy) == edev-mouse.iy) return; + _device_pointer_motion(edev, event); } @@ -447,8 +456,8 @@ _device_handle_button(struct libinput_device *device, struct libinput_event_poin _device_modifiers_update(edev); ev-modifiers = edev-xkb.modifiers; - ev-x = edev-mouse.x; - ev-y = edev-mouse.y; + ev-x = edev-mouse.ix; + ev-y = edev-mouse.iy; ev-root.x = ev-x; ev-root.y = ev-y; @@ -529,8 +538,8 @@ _device_handle_axis(struct libinput_device *device, struct libinput_event_pointe _device_modifiers_update(edev); ev-modifiers = edev-xkb.modifiers; - ev-x = edev-mouse.x; - ev-y = edev-mouse.y; + ev-x = edev-mouse.ix; + ev-y =
[EGIT] [core/elementary] master 01/01: Genlist: make reordered item selected
raster pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=d4142dd239b116f51fa5b33cea6a2f690cde2086 commit d4142dd239b116f51fa5b33cea6a2f690cde2086 Author: Vitalii Vorobiov vi.vorob...@samsung.com Date: Wed Mar 4 18:40:41 2015 +0900 Genlist: make reordered item selected Restacking not selected item should be selected after it is done. @fix Test Plan: 1. run in console elementary_test Genlist Reorder Mode 2. Switch to reorder mode 3. Select Item #6 4. Try to restack Item #4 (not selecting it, but holding mouse on it and moving down) 5. See that Item #4 and Item #6 is not selected Reviewers: cedric, Hermet, raster, seoz Subscribers: reutskiy.v.v Differential Revision: https://phab.enlightenment.org/D1931 --- src/lib/elm_genlist.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/lib/elm_genlist.c b/src/lib/elm_genlist.c index d8e9d6b..9258cda 100644 --- a/src/lib/elm_genlist.c +++ b/src/lib/elm_genlist.c @@ -4717,8 +4717,6 @@ _item_mouse_up_cb(void *data, if (sd-longpressed) { sd-longpressed = EINA_FALSE; -if ((!sd-wasselected) (!it-flipped)) - _item_unselect(it); sd-wasselected = EINA_FALSE; return; } --
[EGIT] [core/elementary] master 01/01: elm_slider: Added elm_slider_indicator_visible_mode_set/get.
raster pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=8ea5cb6c7f8b0cf5a4b978820f2dd83c2c24579a commit 8ea5cb6c7f8b0cf5a4b978820f2dd83c2c24579a Author: Sung-Taek Hong sth253.h...@samsung.com Date: Wed Mar 4 18:45:32 2015 +0900 elm_slider: Added elm_slider_indicator_visible_mode_set/get. Summary: elm_slider: Added elm_slider_indicator_visible_mode_set/get. elm_slider_indicator_visible_mode_set/get allows individual sliders to have its own indicator visible_mode. @feature Reviewers: Hermet, woohyun, seoz Subscribers: seoz Differential Revision: https://phab.enlightenment.org/D1945 --- src/lib/elm_slider.c | 13 + src/lib/elm_slider.eo | 25 + 2 files changed, 38 insertions(+) diff --git a/src/lib/elm_slider.c b/src/lib/elm_slider.c index b69d8d8..d01ea49 100644 --- a/src/lib/elm_slider.c +++ b/src/lib/elm_slider.c @@ -1171,6 +1171,19 @@ _elm_slider_indicator_show_on_focus_get(Eo *obj EINA_UNUSED, Elm_Slider_Data *sd return (sd-indicator_visible_mode == ELM_SLIDER_INDICATOR_VISIBLE_MODE_ON_FOCUS); } +EOLIAN static void +_elm_slider_indicator_visible_mode_set(Eo *obj EINA_UNUSED, Elm_Slider_Data *sd, Elm_Slider_Indicator_Visible_Mode indicator_visible_mode) +{ + if (sd-indicator_visible_mode == indicator_visible_mode) return; + sd-indicator_visible_mode = indicator_visible_mode; +} + +EOLIAN static Elm_Slider_Indicator_Visible_Mode +_elm_slider_indicator_visible_mode_get(Eo *obj EINA_UNUSED, Elm_Slider_Data *sd) +{ + return sd-indicator_visible_mode; +} + EOLIAN static Eina_Bool _elm_slider_elm_widget_focus_next_manager_is(Eo *obj EINA_UNUSED, Elm_Slider_Data *_pd EINA_UNUSED) { diff --git a/src/lib/elm_slider.eo b/src/lib/elm_slider.eo index b23f5db..f90a7b4 100644 --- a/src/lib/elm_slider.eo +++ b/src/lib/elm_slider.eo @@ -330,6 +330,31 @@ class Elm_Slider (Elm_Layout, Elm_Interface_Atspi_Value, double step; /*@ The step value. */ } } + indicator_visible_mode { + set { +/*@ +Set the visible mode of indicator. + +@see elm_slider_indicator_visible_mode_get() for more details. + +@ingroup Slider +*/ + } + get { +/*@ +Get the visible mode of indicator. + +@return The indicator visible mode. + +@see elm_slider_indicator_visible_mode_set() for more details. + +@ingroup Slider +*/ + } + values { +Elm_Slider_Indicator_Visible_Mode indicator_visible_mode; /*@ The indicator visible mode. */ + } + } indicator_format_function { set { /*@ --
[EGIT] [core/efl] master 02/03: Evas GL common: Improve quality of miniature image
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=53d3cb4fec32d7876aba1c878501fe7ca9e06c46 commit 53d3cb4fec32d7876aba1c878501fe7ca9e06c46 Author: Jean-Philippe Andre jp.an...@samsung.com Date: Wed Mar 4 16:37:20 2015 +0900 Evas GL common: Improve quality of miniature image Sample in the middle of the macro pixels and fool around with the borders (usually used to limit linear sampling artifacts) to improve image quality on the edges. Those miniatures are still 16x16 but MAAAYBE they will look a bit less awful. NOTE: The first row still doesn't scale properly (interpolates with garbage above y=0). --- .../evas/engines/gl_common/evas_gl_texture.c | 51 ++ 1 file changed, 43 insertions(+), 8 deletions(-) diff --git a/src/modules/evas/engines/gl_common/evas_gl_texture.c b/src/modules/evas/engines/gl_common/evas_gl_texture.c index 2f3852f..6c3b034 100644 --- a/src/modules/evas/engines/gl_common/evas_gl_texture.c +++ b/src/modules/evas/engines/gl_common/evas_gl_texture.c @@ -1283,26 +1283,61 @@ evas_gl_common_texture_update(Evas_GL_Texture *tex, RGBA_Image *im) out = alloca(bytes_count * EVAS_GL_TILE_SIZE * EVAS_GL_TILE_SIZE); xstep = (float)tex-w / (EVAS_GL_TILE_SIZE - 2); -ystep = (float)tex-h / (EVAS_GL_TILE_SIZE - 1); +ystep = (float)tex-h / (EVAS_GL_TILE_SIZE - 2); in = im-image.data8; -for (y = 0, j = 0; j EVAS_GL_TILE_SIZE - 1; y += ystep, j++) +// top-left +memcpy(out[0], + in[0], + bytes_count); + +// top +for (x = xstep * 0.5f, i = 1; i EVAS_GL_TILE_SIZE - 1; x += xstep, i++) + { + memcpy(out[i * bytes_count], +in[(int)x * bytes_count], +bytes_count); + } + +// top-right +memcpy(out[((EVAS_GL_TILE_SIZE - 1) * bytes_count)], + in[(im-cache_entry.w - 1) * bytes_count], + bytes_count); + +for (y = ystep * 0.5f, j = 1; j EVAS_GL_TILE_SIZE - 1; y += ystep, j++) { + // left memcpy(out[j * EVAS_GL_TILE_SIZE * bytes_count], -in[(int)y * im-cache_entry.w * bytes_count], +in[((int)y * im-cache_entry.w) * bytes_count], bytes_count); - for (x = 0, i = 1; i EVAS_GL_TILE_SIZE - 1; x += xstep, i++) + // middle + for (x = xstep * 0.5f, i = 1; i EVAS_GL_TILE_SIZE - 1; x += xstep, i++) memcpy(out[(j * EVAS_GL_TILE_SIZE + i) * bytes_count], - in[((int)y * im-cache_entry.w + (int)x) * bytes_count], + in[(((int)y * im-cache_entry.w) + (int)x) * bytes_count], bytes_count); + // right memcpy(out[(j * EVAS_GL_TILE_SIZE + i) * bytes_count], -in[((int)y * im-cache_entry.w + (int)(x - xstep)) * bytes_count], +in[(((int)y * im-cache_entry.w) + (im-cache_entry.w - 1)) * bytes_count], bytes_count); } +// bottom-left memcpy(out[(j * EVAS_GL_TILE_SIZE) * bytes_count], - out[((j - 1) * EVAS_GL_TILE_SIZE) * bytes_count], - EVAS_GL_TILE_SIZE * bytes_count); + in[((im-cache_entry.w * (im-cache_entry.h - 1)) + 1) * bytes_count], + bytes_count); + +// bottom +for (x = xstep * 0.5f, i = 1; i EVAS_GL_TILE_SIZE - 1; x += xstep, i++) + { + memcpy(out[((EVAS_GL_TILE_SIZE * j) + i) * bytes_count], +in[((int)x + im-cache_entry.w * (im-cache_entry.h - 1)) * bytes_count], +bytes_count); + } + +// bottom-right +memcpy(out[((EVAS_GL_TILE_SIZE * EVAS_GL_TILE_SIZE) - 1) * bytes_count], + in[((im-cache_entry.w * im-cache_entry.h) - 1) * bytes_count], + bytes_count); // out is a miniature of the texture, upload that now and schedule the data for later. --
[EGIT] [core/efl] master 01/03: Evas GL common: Force smooth scaling on miniature images
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=b19d3599a58d310c65a465ba7cddab75c2b16f80 commit b19d3599a58d310c65a465ba7cddab75c2b16f80 Author: Jean-Philippe Andre jp.an...@samsung.com Date: Wed Mar 4 15:27:21 2015 +0900 Evas GL common: Force smooth scaling on miniature images When evas GL uploads textures, it will first upload a 16x16 miniature image, and then wait for some idle time in the main loop to upload the high-res image. Some images may not have smooth scaling enabled which results in the miniature scaled with GL_NEAREST, showing big ugly squares. Let's force smooth scaling instead, for a blur image rather than a checkerboard. --- src/modules/evas/engines/gl_common/evas_gl_context.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/modules/evas/engines/gl_common/evas_gl_context.c b/src/modules/evas/engines/gl_common/evas_gl_context.c index 5d00516..b925d36 100644 --- a/src/modules/evas/engines/gl_common/evas_gl_context.c +++ b/src/modules/evas/engines/gl_common/evas_gl_context.c @@ -1983,6 +1983,7 @@ evas_gl_common_context_image_push(Evas_Engine_GL_Context *gc, pt = tex-ptt; offsetx = tex-tx; offsety = tex-ty; +smooth = EINA_TRUE; // Adjusting sx, sy, sw and sh to real size of tiny texture sx = sx * (EVAS_GL_TILE_SIZE - 2) / tex-w; --
[EGIT] [core/efl] master 01/01: elua: connect the del event on first callback connect
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=00e2f5d882349300aa95a54dd50132aa4fac881a commit 00e2f5d882349300aa95a54dd50132aa4fac881a Author: Daniel Kolesa d.kol...@samsung.com Date: Wed Mar 4 10:31:48 2015 + elua: connect the del event on first callback connect --- src/bindings/luajit/eo.lua | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/bindings/luajit/eo.lua b/src/bindings/luajit/eo.lua index 4e047bc..22f9094 100644 --- a/src/bindings/luajit/eo.lua +++ b/src/bindings/luajit/eo.lua @@ -159,17 +159,21 @@ local connect = function(self, ename, func, priority) end local cl = eo_classes[Eo_Base] -- add the callback to the respective array +local cdel = false local addr = eo_obj_addr_get(self) local cbs = eo_callbacks[addr] if not cbs then cbs = {} eo_callbacks[addr] = cbs +cdel = true end local cidx = #cbs + 1 cbs[cidx] = func M.__do_start(self, cl) eo.eo_event_callback_priority_add(ev, priority or 0, eo_event_cb, ffi.cast(void *, cidx)) +eo.eo_event_callback_priority_add(eo._EO_BASE_EVENT_DEL, 0, eo_event_del, +nil) M.__do_end() return true end @@ -318,8 +322,6 @@ M.__ctor_common = function(klass, parent, ctor, loff, ...) ret = eo.eo_finalize() eo._eo_do_end(nil) end -eo.eo_event_callback_priority_add(eo._EO_BASE_EVENT_DEL, 0, eo_event_del, -nil) ffi.gc(ret, obj_gccb) return ret end --
[EGIT] [core/elementary] master 01/01: multibuttonentry: Item width size set policy change.
raster pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=5dfd049d43a612f11c0a2320e954be590d0337fe commit 5dfd049d43a612f11c0a2320e954be590d0337fe Author: woochan lee wc0917@samsung.com Date: Wed Mar 4 20:38:04 2015 +0900 multibuttonentry: Item width size set policy change. Summary: Item width max size set as 130 in edc before, i thinks that value doen't have any meaning, so i changed the item max width size to follow container width size. For modification, item size calc, box resize logic changed. Test Plan: 1. Run elementary_test 2. Execute multibuttonentry sample. 3. Input some text for make item. Reviewers: Hermet, seoz, woohyun, Jaehyun Differential Revision: https://phab.enlightenment.org/D1970 --- data/themes/edc/elm/multibuttonentry.edc | 1 - src/lib/elc_multibuttonentry.c | 267 +-- 2 files changed, 111 insertions(+), 157 deletions(-) diff --git a/data/themes/edc/elm/multibuttonentry.edc b/data/themes/edc/elm/multibuttonentry.edc index 764296a..d306231 100644 --- a/data/themes/edc/elm/multibuttonentry.edc +++ b/data/themes/edc/elm/multibuttonentry.edc @@ -73,7 +73,6 @@ group { name: elm/multibuttonentry/btn/default; images.image: sym_close_dark_normal.png COMP; images.image: sym_close_dark_selected.png COMP; images.image: win_glow.png COMP; - data.item: button_max_size 130; styles { style { name: multibuttonentry_textblock_style; base: font=FN align=0.5 font_size=10 color=# style=shadow,bottom shadow_color=#0080 text_class=multibuttonentry_item ellipsis=1.0; diff --git a/src/lib/elc_multibuttonentry.c b/src/lib/elc_multibuttonentry.c index 3246066..40ba537 100644 --- a/src/lib/elc_multibuttonentry.c +++ b/src/lib/elc_multibuttonentry.c @@ -179,7 +179,7 @@ _shrink_mode_set(Evas_Object *obj, EINA_LIST_FOREACH(sd-items, l, eo_item) { - Evas_Coord w_label_count = 0, h = 0; + Evas_Coord item_w, w_label_count = 0, h = 0; char *buf; ELM_MULTIBUTTONENTRY_ITEM_DATA_GET(eo_item, item); @@ -187,7 +187,9 @@ _shrink_mode_set(Evas_Object *obj, evas_object_show(VIEW(item)); item-visible = EINA_TRUE; - w -= item-vw; + evas_object_size_hint_min_get(VIEW(item), item_w, NULL); + + w -= item_w; w -= box_inner_item_width_padding; count--; @@ -511,38 +513,6 @@ _on_item_deleted(void *data, } } -static void -_item_resize(Evas_Object *obj, - Evas_Object *btn, - Evas_Coord *realw, - Evas_Coord *vieww) -{ - Evas_Coord rw, vw; - const char *size_str; - Evas_Coord w_btn = 0, h_btn = 0, button_max_width = 0; - - size_str = edje_object_data_get(elm_layout_edje_get(btn), button_max_size); - if (size_str) button_max_width = atoi(size_str); - - button_max_width *= elm_widget_scale_get(obj) * elm_config_scale_get(); - - // decide the size of button - edje_object_size_min_calc(elm_layout_edje_get(btn), w_btn, h_btn); - - rw = w_btn; - - if (button_max_width w_btn) vw = button_max_width; - else vw = w_btn; - - //resize item - elm_coords_finger_size_adjust(1, vw, 1, h_btn); - evas_object_resize(btn, vw, h_btn); - evas_object_size_hint_min_set(btn, vw, h_btn); - - if (realw) *realw = rw; - if (vieww) *vieww = vw; -} - EOLIAN static void _elm_multibuttonentry_item_elm_widget_item_signal_emit(Eo *eo_item EINA_UNUSED, Elm_Multibuttonentry_Item_Data *item, @@ -566,7 +536,6 @@ _elm_multibuttonentry_item_elm_widget_item_part_text_set(Eo *eo_item EINA_UNUSED dest_part = part; edje_object_part_text_escaped_set(elm_layout_edje_get(VIEW(item)), dest_part, label); - _item_resize(item-base-widget, VIEW(item), item-rw, item-vw); } EOLIAN static const char * @@ -656,14 +625,13 @@ _item_new(Elm_Multibuttonentry_Data *sd, void *data) { Eina_List *l; - Evas_Coord rw, vw; Eo *eo_item; - Evas_Coord width = -1, height = -1; Elm_Multibuttonentry_Item_Filter *item_filter; Elm_Multibuttonentry_Item_Data *reference = eo_reference? eo_data_scope_get(eo_reference, ELM_MULTIBUTTONENTRY_ITEM_CLASS): NULL; Evas_Object *obj; + int minw, minh, boxw; obj = sd-parent; @@ -692,23 +660,25 @@ _item_new(Elm_Multibuttonentry_Data *sd, //entry is cleared when text is made to button elm_object_text_set(sd-entry, ); - evas_object_smart_calculate(VIEW(item)); - edje_object_part_geometry_get - (elm_layout_edje_get(VIEW(item)), elm.btn.text, NULL, NULL, width, height); - evas_object_size_hint_min_set(VIEW(item), width, height); edje_object_signal_callback_add (elm_layout_edje_get(VIEW(item)), mouse,clicked,1, *, _on_item_clicked,
[EGIT] [core/elementary] master 01/01: colorselector: Check return value of elm_layout_theme_set as other widgets do.
seoz pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=b2e48a1a1e892fb7ef0de385c507fd068d9918fe commit b2e48a1a1e892fb7ef0de385c507fd068d9918fe Author: Daniel Juyung Seo seojuyu...@gmail.com Date: Wed Mar 4 20:59:36 2015 +0900 colorselector: Check return value of elm_layout_theme_set as other widgets do. This fixes coverity CID 1273969. --- src/lib/elm_colorselector.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lib/elm_colorselector.c b/src/lib/elm_colorselector.c index d434027..e91f454 100644 --- a/src/lib/elm_colorselector.c +++ b/src/lib/elm_colorselector.c @@ -1117,7 +1117,10 @@ _elm_colorselector_elm_widget_theme_apply(Eo *obj, Elm_Colorselector_Data *sd) } } - elm_layout_theme_set(sd-picker, colorselector, picker/base, elm_widget_style_get(obj)); + if (!elm_layout_theme_set(sd-picker, colorselector, picker/base, + elm_widget_style_get(obj))) + CRI(Failed to set layout!); + style = eina_stringshare_printf(colorselector/%s, elm_widget_style_get(obj)); #ifdef HAVE_ELEMENTARY_X elm_object_style_set(sd-button, style); --
[E-devel] Elm_spinner focus UI, accessibility fix
Raster, you commited thatadfe7fbcd3f4146d84219de7dbb5a273d89f396e https://git.enlightenment.org/core/elementary.git/commit/?id=adfe7fbcd3f4146d84219de7dbb5a273d89f396e. Differential Revision:https://phab.enlightenment.org/D1911 This commit brokebackward compatibility with Elemenatry 1.10. Maybe need to change theme|version from 110 to 113? Best regards Viacheslav Reutskiy (rimmed) | -- 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: lib/edje_util: fix logically wrong here.
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=2e4f4d502fc4885344b34206931a0c5b833d8b7b commit 2e4f4d502fc4885344b34206931a0c5b833d8b7b Author: ChunEon Park chuneon.p...@samsung.com Date: Wed Mar 4 22:44:19 2015 +0900 lib/edje_util: fix logically wrong here. print err message only if edje has a non-fixed textblock. This dosen't affect any application ui results, but err message will point out the problem textblock parts exactly. --- src/lib/edje/edje_util.c | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/lib/edje/edje_util.c b/src/lib/edje/edje_util.c index c1ae49c..b96715c 100644 --- a/src/lib/edje/edje_util.c +++ b/src/lib/edje/edje_util.c @@ -2991,7 +2991,7 @@ _edje_object_size_min_restricted_calc(Eo *obj EINA_UNUSED, Edje *ed, Evas_Coord Eina_Bool repeat_w, repeat_h; Eina_Bool reset_max = EINA_TRUE; Edje_Real_Part *pep = NULL; - Eina_Bool has_non_fixed_tb = EINA_FALSE; + Eina_Bool has_fixed_tb; if ((!ed) || (!ed-collection)) { @@ -3033,7 +3033,7 @@ again: } pep = NULL; -has_non_fixed_tb = EINA_FALSE; +has_fixed_tb = EINA_TRUE; //for parts for (i = 0; i ed-table_parts_size; i++) @@ -3059,7 +3059,7 @@ again: tb_mw, NULL); tb_mw -= ep-req.w; if (tb_mw over_w) over_w = tb_mw; - has_non_fixed_tb = EINA_TRUE; + has_fixed_tb = EINA_FALSE; } if (over_w max_over_w) @@ -3086,7 +3086,7 @@ again: } if (ep-part-type == EDJE_PART_TYPE_TEXTBLOCK) -has_non_fixed_tb = EINA_TRUE; +has_fixed_tb = EINA_FALSE; } } if (repeat_w) @@ -3109,7 +3109,7 @@ again: /* Only print it if we have a non-fixed textblock. * We should possibly avoid all of this if in this case, but in * the meanwhile, just doing this. */ - if (!has_non_fixed_tb) + if (!has_fixed_tb) { if (pep) ERR(file %s, group %s has a non-fixed part '%s'. Adding 'fixed: 1 1;' to source EDC may help. Continuing discarding faulty part., --
Re: [E-devel] Elm_spinner focus UI, accessibility fix
This commit also removed keybinding feature from elm_spinner - I'm not sure if it is good or bad approach, but keybinding are used in almost every elm_widget. What is more elm_config still contains keybindings for Elm_Spinner. BR On 04.03.2015 13:19, rimmed wrote: Raster, you commited thatadfe7fbcd3f4146d84219de7dbb5a273d89f396e https://git.enlightenment.org/core/elementary.git/commit/?id=adfe7fbcd3f4146d84219de7dbb5a273d89f396e. Differential Revision:https://phab.enlightenment.org/D1911 This commit brokebackward compatibility with Elemenatry 1.10. Maybe need to change theme|version from 110 to 113? Best regards Viacheslav Reutskiy (rimmed) | -- 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
Re: [E-devel] Elm_spinner focus UI, accessibility fix
oops On 03/04/2015 02:19 PM, rimmed wrote: Raster, you commited thatadfe7fbcd3f4146d84219de7dbb5a273d89f396e https://git.enlightenment.org/core/elementary.git/commit/?id=adfe7fbcd3f4146d84219de7dbb5a273d89f396e. Differential Revision:https://phab.enlightenment.org/D1911 This commit brokebackward compatibility with Elemenatry 1.10. Maybe need to change theme|version from 110 to 113? 114 Best regards Viacheslav Reutskiy (rimmed) | -- 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: edje: code refactoring.
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=3dff8b0a436aa6b3d478d25e4afb76066e380a77 commit 3dff8b0a436aa6b3d478d25e4afb76066e380a77 Author: ChunEon Park chuneon.p...@samsung.com Date: Wed Mar 4 22:52:12 2015 +0900 edje: code refactoring. use a constant vairable for maintainance. --- src/lib/edje/edje_util.c | 9 ++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/lib/edje/edje_util.c b/src/lib/edje/edje_util.c index b96715c..d0b71c6 100644 --- a/src/lib/edje/edje_util.c +++ b/src/lib/edje/edje_util.c @@ -2986,6 +2986,8 @@ _edje_object_parts_extends_calc(Eo *obj EINA_UNUSED, Edje *ed, Evas_Coord *x, Ev EOLIAN void _edje_object_size_min_restricted_calc(Eo *obj EINA_UNUSED, Edje *ed, Evas_Coord *minw, Evas_Coord *minh, Evas_Coord restrictedw, Evas_Coord restrictedh) { + const int MIN_LIMIT = 4000; + Evas_Coord orig_w, orig_h; //original edje size int max_over_w, max_over_h; //maximum over-calculated size. Eina_Bool repeat_w, repeat_h; @@ -3104,7 +3106,7 @@ again: if (ed-h restrictedh) ed-h = restrictedh; } -if ((ed-w 4000) || (ed-h 4000)) +if ((ed-w MIN_LIMIT) || (ed-h MIN_LIMIT)) { /* Only print it if we have a non-fixed textblock. * We should possibly avoid all of this if in this case, but in @@ -3115,8 +3117,9 @@ again: ERR(file %s, group %s has a non-fixed part '%s'. Adding 'fixed: 1 1;' to source EDC may help. Continuing discarding faulty part., ed-path, ed-group, pep-part-name); else -ERR(file %s, group %s overflowed 4000x4000 with minimum size of %dx%d. Continuing discarding faulty parts., -ed-path, ed-group, ed-w, ed-h); +ERR(file %s, group %s overflowed %dx%d with minimum size of %dx%d. Continuing discarding faulty parts., +ed-path, ed-group, MIN_LIMIT, MIN_LIMIT, +ed-w, ed-h); } if (reset_max) --
Re: [E-devel] Elm_spinner focus UI, accessibility fix
Basic reason to remove keybinding feature from spinner was because now its based totally on focus management and focus direction manager, we don't need keybinding here and this feature can be managed only by focus management. The arrows were images before, we made it buttons even the central text area part. Widgets like datetime, index etc:- don't use/need key bindings yes but removal of key bindings from config file is missed will update soon. BR, Shilpa Singh --- Original Message --- Sender : Lukasz Stanislawskil.stanisl...@samsung.com Software Engineer/SRPOL-Native Apps Accessibility (TP)/Samsung Electronics Date : Mar 04, 2015 22:42 (GMT+09:00) Title : Re: [E-devel] Elm_spinner focus UI, accessibility fix This commit also removed keybinding feature from elm_spinner - I'm not sure if it is good or bad approach, but keybinding are used in almost every elm_widget. What is more elm_config still contains keybindings for Elm_Spinner. BR On 04.03.2015 13:19, rimmed wrote: Raster, you commited thatadfe7fbcd3f4146d84219de7dbb5a273d89f396e . Differential Revision:https://phab.enlightenment.org/D1911 This commit brokebackward compatibility with Elemenatry 1.10. Maybe need to change theme|version from 110 to 113? Best regards Viacheslav Reutskiy (rimmed) | -- 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 [cid:BGFC2LL5XOK0@namo.co.kr] [SeenTimeChecker?do=61dd5ae2e408a716246f4bc9e8146189b85c401faca14e38733afbaf 10963357ba777c355c197185c465c2cf80a2b7ef9aba4bb3b2b5ca43ddd7e184e0604d958075 b6b33f32d245b7f8aafe245478a5f1d21d5ebee74427cf878f9a26ce15a0] -- 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/exactness] master 01/01: Add key up/down with keycode event handler
tasn pushed a commit to branch master. http://git.enlightenment.org/tools/exactness.git/commit/?id=450d2888ebfd8be82f07b0a266da978b469384f9 commit 450d2888ebfd8be82f07b0a266da978b469384f9 Author: kabeer khan kabeer.k...@samsung.com Date: Wed Mar 4 14:55:17 2015 + Add key up/down with keycode event handler Summary: To catch key press event added key up/down with keycode event handler Signed-off-by: kabeer khan kabeer.k...@samsung.com Reviewers: cedric, tasn Differential Revision: https://phab.enlightenment.org/D2052 --- src/lib/tsuite_evas_hook.c | 124 - src/lib/tsuite_file_data.c | 86 ++- src/lib/tsuite_file_data.h | 18 +++ 3 files changed, 226 insertions(+), 2 deletions(-) diff --git a/src/lib/tsuite_evas_hook.c b/src/lib/tsuite_evas_hook.c index dabf41b..03ca995 100644 --- a/src/lib/tsuite_evas_hook.c +++ b/src/lib/tsuite_evas_hook.c @@ -120,6 +120,16 @@ evt_time_get(unsigned int tm, Variant_st *v) key_down_key_up *t = v-data; return t-timestamp; } + case TSUITE_EVENT_KEY_DOWN_WITH_KEYCODE: + { + key_down_key_up_with_keycode *t = v-data; + return t-timestamp; + } + case TSUITE_EVENT_KEY_UP_WITH_KEYCODE: + { + key_down_key_up_with_keycode *t = v-data; + return t-timestamp; + } case TSUITE_EVENT_TAKE_SHOT: { take_screenshot *t = v-data; @@ -496,6 +506,33 @@ tsuite_feed_event(void *data) break; } + case TSUITE_EVENT_KEY_DOWN_WITH_KEYCODE: + { + key_down_key_up_with_keycode *t = v-data; + evt_time = t-timestamp; +#ifdef DEBUG_TSUITE + printf(%s evas_event_feed_key_down_with_keycode timestamp=%u t-n_evas=%d t-keycode=%u\n, __func__, t-timestamp, t-n_evas, t-keycode); +#endif + evas_event_feed_key_down_with_keycode(eina_list_nth(evas_list, t-n_evas), +t-keyname, t-key, t-string, +t-compose, time(NULL), NULL, t-keycode); + + break; + } + case TSUITE_EVENT_KEY_UP_WITH_KEYCODE: + { + key_down_key_up_with_keycode *t = v-data; + evt_time = t-timestamp; +#ifdef DEBUG_TSUITE + printf(%s evas_event_feed_key_up_with_keycode timestamp=%u t-n_evas=%d t-keycode=%u\n, __func__, t-timestamp, t-n_evas, t-keycode); +#endif + evas_event_feed_key_up(eina_list_nth(evas_list, t-n_evas), +t-keyname, t-key, t-string, +t-compose, time(NULL), NULL); + + break; + } + case TSUITE_EVENT_TAKE_SHOT: { take_screenshot *t = v-data; @@ -627,7 +664,6 @@ tsuite_event_type_get(Evas_Callback_Type t) return TSUITE_EVENT_KEY_DOWN; case EVAS_CALLBACK_KEY_UP: return TSUITE_EVENT_KEY_UP; - default: return TSUITE_EVENT_NOT_SUPPORTED; } @@ -908,3 +944,89 @@ evas_event_feed_key_up(Evas *e, const char *keyname, const char *key, orig(e, keyname, key, string, compose, timestamp, data); } + +EAPI void +evas_event_feed_key_down_with_keycode(Evas *e, const char *keyname, const char *key, + const char *string, const char *compose, + unsigned int timestamp, const void *data, unsigned int keycode) +{ + int evt = TSUITE_EVENT_KEY_DOWN_WITH_KEYCODE; + void (*orig) (Evas *e, const char *keyname, const char *key, + const char *string, const char *compose, + unsigned int timestamp, const void *data, unsigned int keycode) = + dlsym(RTLD_NEXT, __func__); +#ifdef DEBUG_TSUITE + printf(Calling %s timestamp=%u\n, __func__, timestamp); +#endif + if (!strcmp(key, shot_key)) + { +#ifdef DEBUG_TSUITE +printf(Take Screenshot: %s timestamp=%u\n, __func__, timestamp); +#endif +take_screenshot t = { timestamp, evas_list_find(e) }; +if (t.n_evas = 0) + ADD_TO_LIST(TSUITE_EVENT_TAKE_SHOT, take_screenshot, t); + +orig(e, keyname, key, string, compose, timestamp, data, keycode); +return; + } + + + if (vr_list _hook_setting-recording) + { /* Construct duplicate strings, free them when list if freed */ +key_down_key_up_with_keycode t; +t.timestamp = timestamp; +t.keyname = eina_stringshare_add(keyname); +t.key = eina_stringshare_add(key); +t.string = eina_stringshare_add(string); +t.compose = eina_stringshare_add(compose); +t.n_evas = evas_list_find(e); +t.keycode = keycode; +if (t.n_evas = 0) + ADD_TO_LIST(evt, key_down_key_up, t); + } + + orig(e, keyname, key, string, compose, timestamp, data, keycode); +} + +EAPI void +evas_event_feed_key_up_with_keycode(Evas *e, const char *keyname, const char *key, +
[EGIT] [tools/exactness] master 01/01: added code to enable shots capturing of ecore_evas and evas examples
tasn pushed a commit to branch master. http://git.enlightenment.org/tools/exactness.git/commit/?id=079dbb6dd542fc0066026cbf82ebe6db347d5867 commit 079dbb6dd542fc0066026cbf82ebe6db347d5867 Author: kabeer khan kabeer.k...@samsung.com Date: Wed Mar 4 15:00:05 2015 + added code to enable shots capturing of ecore_evas and evas examples Summary: Signed-off-by: kabeer khan kabeer.k...@samsung.com Reviewers: cedric, tasn Reviewed By: tasn Differential Revision: https://phab.enlightenment.org/D2082 --- src/lib/tsuite_evas_hook.c | 15 +++ 1 file changed, 15 insertions(+) diff --git a/src/lib/tsuite_evas_hook.c b/src/lib/tsuite_evas_hook.c index 03ca995..d229a05 100644 --- a/src/lib/tsuite_evas_hook.c +++ b/src/lib/tsuite_evas_hook.c @@ -331,6 +331,21 @@ evas_new(void) return evas; } +EAPI Ecore_Evas * +ecore_evas_new(const char *engine_name, int x, int y, + int w, int h, const char *extra_options) +{ + Ecore_Evas *ecore_evas; + Ecore_Evas * (*_ecore_evas_new)(const char *engine_name, int x, int y, + int w, int h, const char *extra_options) = dlsym(RTLD_NEXT, __FUNCTION__); + + if(!_hook_setting-recording) + ecore_evas = _ecore_evas_new(buffer, x, y, w, h, extra_options); + else + ecore_evas = _ecore_evas_new(engine_name, x, y, w, h, extra_options); + return ecore_evas; +} + static Eina_Bool tsuite_feed_event(void *data) { --
[EGIT] [core/efl] master 01/01: Eio: added cmake file
tasn pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=a950371b1064132f9868e2adc36846205bdf55fb commit a950371b1064132f9868e2adc36846205bdf55fb Author: Marcel Hollerbach marcel-hollerb...@t-online.de Date: Wed Mar 4 15:02:22 2015 + Eio: added cmake file Summary: Added cmake config files for Eio Test Plan: install it and test it with a app with needs eio Reviewers: cedric, tasn Reviewed By: tasn Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D2079 --- Makefile.am| 5 + cmakeconfig/EioConfig.cmake.in | 25 + configure.ac | 2 ++ 3 files changed, 32 insertions(+) diff --git a/Makefile.am b/Makefile.am index 77b9c01..b1b7ea1 100644 --- a/Makefile.am +++ b/Makefile.am @@ -270,6 +270,11 @@ eina_cmakeconfig_DATA = \ cmakeconfig/EinaConfig.cmake \ cmakeconfig/EinaConfigVersion.cmake +eio_cmakeconfigdir = $(libdir)/cmake/Eio/ +eio_cmakeconfig_DATA = \ +cmakeconfig/EioConfig.cmake \ +cmakeconfig/EioConfigVersion.cmake + eeze_cmakeconfigdir = $(libdir)/cmake/Eeze/ eeze_cmakeconfig_DATA = \ cmakeconfig/EezeConfig.cmake \ diff --git a/cmakeconfig/EioConfig.cmake.in b/cmakeconfig/EioConfig.cmake.in new file mode 100644 index 000..2269bde --- /dev/null +++ b/cmakeconfig/EioConfig.cmake.in @@ -0,0 +1,25 @@ +# trys to find eio +# EIO_INCLUDE_DIRS eio include directories +# EIO_LIBRARIES dependencys of eio +# EIO_DEFINITIONS compiler stuff to use it +set(MY_PKG eet) + +find_package(PkgConfig) +if (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION} VERSION_GREATER 2.8.2) + set(_QUIET QUIET) +endif () +pkg_check_modules(PC_LIBEIO ${_QUIET} ${MY_PKG}) + +find_library(EIO_LIBRARY + NAMES ${PC_LIBEIO_LIBRARIES} + HINTS ${PC_LIBEIO_LIBDIR} ${PC_LIBEIO_LIBRARY_DIRS} ) + +set(EIO_DEFINITIONS ${PC_LIBEIO_CLAGS_OTHER}) +set(EIO_LIBRARIES ${EIO_LIBRARY}) +set(EIO_INCLUDE_DIRS ${PC_LIBEIO_INCLUDE_DIRS}) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(${MY_PKG} DEFAULT_MSG + EIO_LIBRARIES EIO_INCLUDE_DIRS) + +mark_as_advanced(EIO_INCLUDE_DIRS EIO_LIBRARY EIO_LIBRARIES EIO_DEFINITIONS) diff --git a/configure.ac b/configure.ac index bc4b997..90a5c6d 100644 --- a/configure.ac +++ b/configure.ac @@ -4588,6 +4588,8 @@ cmakeconfig/EflConfig.cmake cmakeconfig/EflConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in cmakeconfig/EinaConfig.cmake cmakeconfig/EinaConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in +cmakeconfig/EioConfig.cmake +cmakeconfig/EioConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in cmakeconfig/EezeConfig.cmake cmakeconfig/EezeConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in cmakeconfig/EoConfig.cmake --