Enlightenment CVS committal

Author  : handyande
Project : misc
Module  : engage

Dir     : misc/engage/src/module


Modified Files:
        e_mod_main.c e_mod_main.h 


Log Message:
OK, OK then - soo many requests, old style zooming is back - tich 'stretch' in 
the context menu
Note that the theme is not really ready for it - will spill off the edges
===================================================================
RCS file: /cvsroot/enlightenment/misc/engage/src/module/e_mod_main.c,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -3 -r1.47 -r1.48
--- e_mod_main.c        9 May 2005 19:27:55 -0000       1.47
+++ e_mod_main.c        9 Jun 2005 13:14:53 -0000       1.48
@@ -117,6 +117,7 @@
 static void    _engage_bar_cb_menu_edit(void *data, E_Menu *m, E_Menu_Item 
*mi);
 
 static void    _engage_bar_cb_menu_zoom(void *data, E_Menu *m, E_Menu_Item 
*mi);
+static void    _engage_bar_cb_menu_zoom_stretch(void *data, E_Menu *m, 
E_Menu_Item *mi);
 static void    _engage_bar_cb_menu_zoom_small(void *data, E_Menu *m, 
E_Menu_Item *mi);
 static void    _engage_bar_cb_menu_zoom_medium(void *data, E_Menu *m, 
E_Menu_Item *mi);
 static void    _engage_bar_cb_menu_zoom_large(void *data, E_Menu *m, 
E_Menu_Item *mi);
@@ -220,6 +221,7 @@
    E_CONFIG_VAL(D, T, enabled, INT);
    E_CONFIG_VAL(D, T, zoom, INT);
    E_CONFIG_VAL(D, T, zoom_factor, DOUBLE);
+   E_CONFIG_VAL(D, T, zoom_stretch, INT);
 
    conf_edd = E_CONFIG_DD_NEW("Engage_Config", Config);
 #undef T
@@ -295,6 +297,7 @@
                       eb->conf->enabled = 1;
                       eb->conf->zoom = 1;
                       eb->conf->zoom_factor = 2.0;
+                      eb->conf->zoom_stretch = 0;
                       e->conf->bars = evas_list_append(e->conf->bars, 
eb->conf);
                    }
                  else
@@ -304,6 +307,7 @@
                    }
                  E_CONFIG_LIMIT(eb->conf->zoom, 0, 1);
                  E_CONFIG_LIMIT(eb->conf->zoom_factor, 1.0, 4.0);
+                 E_CONFIG_LIMIT(eb->conf->zoom_stretch, 0, 1);
                  _engage_bar_iconsize_change(eb);
                  /* Menu */
                  _engage_bar_menu_new(eb);
@@ -695,13 +699,21 @@
    mi = e_menu_item_new(mn);
    e_menu_item_label_set(mi, "Zoom Icons");
    e_menu_item_check_set(mi, 1);
-   if (eb->conf->zoom == 1) e_menu_item_toggle_set(mi, 1);
-     e_menu_item_callback_set(mi, _engage_bar_cb_menu_zoom, eb);
+   if (eb->conf->zoom == 1)
+     e_menu_item_toggle_set(mi, 1);
+   e_menu_item_callback_set(mi, _engage_bar_cb_menu_zoom, eb);
 
    mi = e_menu_item_new(mn);
    e_menu_item_label_set(mi, "Zoom Level");
    e_menu_item_submenu_set(mi, eb->zoom_menu);
 
+   mi = e_menu_item_new(mn);
+   e_menu_item_label_set(mi, "Stretch Bar");
+   e_menu_item_check_set(mi, 1);
+   if (eb->conf->zoom_stretch)
+     e_menu_item_toggle_set(mi, 1);
+   e_menu_item_callback_set(mi, _engage_bar_cb_menu_zoom_stretch, eb);
+
    mi = e_menu_item_new(mn); 
    e_menu_item_separator_set(mi, 1);
         
@@ -1473,7 +1485,7 @@
      {
        Engage_Icon *icon;
        double       distance, new_zoom, relative, size, halfsize;
-       int          do_zoom;
+       int          do_zoom, offset;
        Evas_Coord   cx, cy;
 
        icon = (Engage_Icon *) items->data;
@@ -1488,20 +1500,34 @@
 
        evas_object_image_fill_set(icon->icon_object, 0.0, 0.0, size, size);
        evas_object_resize(icon->bg_object, size, size);
+
        xx = x;
        yy = y;
+
+       if (eb->conf->zoom_stretch)
+         {
+            if (eb->mouse_out == -1)
+              offset = md + relative;
+            else
+              offset = eb->mouse_out + relative;
+         }
+       else
+         {
+            offset = counter;
+         }
+
        if (edge == E_GADMAN_EDGE_LEFT)
-         yy = counter - halfsize;
+         yy = offset - halfsize;
        else if (edge == E_GADMAN_EDGE_RIGHT)
          {
             xx = x + w - size;
-            yy = counter - halfsize;
+            yy = offset - halfsize;
          }
        else if (edge == E_GADMAN_EDGE_TOP)
-         xx = counter - halfsize;
+         xx = offset - halfsize;
        else
          {
-            xx = counter - halfsize;
+            xx = offset - halfsize;
             yy = y + h - size;
          }
        evas_object_move(icon->bg_object, xx, yy);
@@ -2132,6 +2158,16 @@
 }
 
 static void
+_engage_bar_cb_menu_zoom_stretch(void *data, E_Menu *m, E_Menu_Item *mi)
+{
+   Engage_Bar *eb;
+
+   eb = data;
+   eb->conf->zoom_stretch = e_menu_item_toggle_get(mi);
+   e_config_save_queue();
+}
+
+static void
 _engage_bar_cb_menu_context_change(void *data, E_Menu *m, E_Menu_Item *mi)
 {  
    Engage_Bar *eb;
@@ -2201,7 +2237,14 @@
    double          range, f, x;
    double          ff, sqrt_ffxx, sqrt_ff_1;
 
-   range = 1.0;
+   if (eb->conf->zoom_stretch)
+     {
+       range = 2.5;
+     }
+   else
+     {
+       range = 1.0;
+     }
    f = 1.5;
    x = d / range;
 
@@ -2221,23 +2264,25 @@
      {
        *zoom = (eb->zoom - 1.0) * (eb->conf->zoom_factor - 1.0) *
            ((sqrt_ff_1 - sqrt_ffxx) / (sqrt_ff_1 - f)) + 1.0;
-/* disp is not currently used, so free up some cycles */
-#if 0
-       *disp = (eb->engage->iconbordersize) *
-           ((eb->zoom - 1.0) * (eb->conf->zoom_factor - 1.0) *
-           (range * (x * (2 * sqrt_ff_1 - sqrt_ffxx) -
-               ff * atan(x / sqrt_ffxx)) / (2.0 * (sqrt_ff_1 - f))) + d);
-#endif
+
+       if (eb->conf->zoom_stretch)
+         {
+            *disp = (eb->engage->iconbordersize) *
+              ((eb->zoom - 1.0) * (eb->conf->zoom_factor - 1.0) *
+                (range * (x * (2 * sqrt_ff_1 - sqrt_ffxx) -
+                  ff * atan(x / sqrt_ffxx)) / (2.0 * (sqrt_ff_1 - f))) + d);
+         }
       } else {
        *zoom = 1.0;
-#if 0
-       *disp = (eb->engage->iconbordersize) *
-           ((eb->zoom - 1.0) * (eb->conf->zoom_factor - 1.0) *
-               (range * (sqrt_ff_1 - ff * atan(1.0 / sqrt_ff_1)) /
-               (2.0 * (sqrt_ff_1 - f))) + range + fabs(d) - range);
-       if (d < 0.0)
-          *disp = -(*disp);
-#endif
+       if (eb->conf->zoom_stretch)
+         {
+            *disp = (eb->engage->iconbordersize) *
+              ((eb->zoom - 1.0) * (eb->conf->zoom_factor - 1.0) *
+                (range * (sqrt_ff_1 - ff * atan(1.0 / sqrt_ff_1)) /
+                  (2.0 * (sqrt_ff_1 - f))) + range + fabs(d) - range);
+            if (d < 0.0)
+              *disp = -(*disp);
+         }
       }
    return 1;
 }
===================================================================
RCS file: /cvsroot/enlightenment/misc/engage/src/module/e_mod_main.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -3 -r1.10 -r1.11
--- e_mod_main.h        26 Apr 2005 23:07:58 -0000      1.10
+++ e_mod_main.h        9 Jun 2005 13:14:54 -0000       1.11
@@ -27,6 +27,7 @@
    unsigned char enabled;
    int           zoom;
    double        zoom_factor;
+   int           zoom_stretch;
 };
 
 struct _Engage




-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.  How far can you shotput
a projector? How fast can you ride your desk chair down the office luge track?
If you want to score the big prize, get to know the little guy.  
Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to