okra pushed a commit to branch master.

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

commit b53917107736e25dbd6ec9a500df9a91179e8358
Author: Stephen 'Okra' Houston <[email protected]>
Date:   Fri Apr 28 15:15:22 2017 -0500

    Luncher: Make transitions such as engage smoother by including the icon 
spacers in events.
---
 src/modules/luncher/bar.c | 31 +++++++++++++++++++------------
 1 file changed, 19 insertions(+), 12 deletions(-)

diff --git a/src/modules/luncher/bar.c b/src/modules/luncher/bar.c
index d0c8f41..20c082d 100644
--- a/src/modules/luncher/bar.c
+++ b/src/modules/luncher/bar.c
@@ -1149,28 +1149,31 @@ static void
 _bar_icon_scale_message(void *data, Evas_Object *obj EINA_UNUSED, 
Edje_Message_Type type EINA_UNUSED, int id EINA_UNUSED, void *msg)
 {
    Edje_Message_String_Float_Set *mmsg = msg;
-   Evas_Coord add = 0;
+   Evas_Coord add = 0, w, h;
    Icon *ic = data;
    double total = 0.0;
 
    ic->scale = mmsg->val[0];
    if (ic->scale > 1.0)
-     {
-        total = (((double)ic->inst->size * (double)ic->scale) - 
(double)ic->inst->size);
-        add = ceil(total / 2.0);
+     { 
+        evas_object_geometry_get(ic->o_layout, 0, 0, &w, &h);
         switch (e_gadget_site_orient_get(e_gadget_site_get(ic->inst->o_main)))
           {
              case E_GADGET_SITE_ORIENT_VERTICAL:
-                evas_object_resize(ic->o_spacerb, ic->inst->size, add);
-                evas_object_size_hint_min_set(ic->o_spacerb, ic->inst->size, 
add);
-                evas_object_resize(ic->o_spacera, ic->inst->size, total - add);
-                evas_object_size_hint_min_set(ic->o_spacera, ic->inst->size, 
total - add);
+                total = (((double)h * (double)ic->scale) - (double)h);
+                add = ceil(total / 2.0);
+                evas_object_resize(ic->o_spacerb, w, add);
+                evas_object_size_hint_min_set(ic->o_spacerb, w, add);
+                evas_object_resize(ic->o_spacera, w, add);
+                evas_object_size_hint_min_set(ic->o_spacera, w, add);
                 break;
              default:
-                evas_object_resize(ic->o_spacerb, add, ic->inst->size);
-                evas_object_size_hint_min_set(ic->o_spacerb, add, 
ic->inst->size);
-                evas_object_resize(ic->o_spacera, add, ic->inst->size);
-                evas_object_size_hint_min_set(ic->o_spacera, add, 
ic->inst->size);
+                total = (((double)w * (double)ic->scale) - (double)w);
+                add = ceil(total / 2.0);
+                evas_object_resize(ic->o_spacerb, add, h);
+                evas_object_size_hint_min_set(ic->o_spacerb, add, h);
+                evas_object_resize(ic->o_spacera, add, h);
+                evas_object_size_hint_min_set(ic->o_spacera, add, h);
           }
      }
    else
@@ -1268,6 +1271,10 @@ _bar_icon_add(Instance *inst, Efreet_Desktop *desktop, 
E_Client *non_desktop_cli
        _bar_icon_mouse_down, ic);
    evas_object_event_callback_add(ic->o_icon, EVAS_CALLBACK_MOUSE_MOVE,
        _bar_icon_mouse_move, ic);
+   evas_object_event_callback_add(ic->o_spacera, EVAS_CALLBACK_MOUSE_MOVE,
+       _bar_icon_mouse_move, ic);
+   evas_object_event_callback_add(ic->o_spacerb, EVAS_CALLBACK_MOUSE_MOVE,
+       _bar_icon_mouse_move, ic);
    evas_object_event_callback_add(ic->o_icon, EVAS_CALLBACK_MOUSE_IN,
        _bar_icon_mouse_in, ic);
    evas_object_event_callback_add(ic->o_icon, EVAS_CALLBACK_MOUSE_OUT,

-- 


Reply via email to