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:
Add zoom level menu - may need to fine tune the numbers
===================================================================
RCS file: /cvsroot/enlightenment/misc/engage/src/module/e_mod_main.c,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -3 -r1.26 -r1.27
--- e_mod_main.c        11 Mar 2005 11:23:30 -0000      1.26
+++ e_mod_main.c        14 Mar 2005 14:12:33 -0000      1.27
@@ -64,6 +64,7 @@
 static void    _engage_bar_edge_change(Engage_Bar *eb, int edge);
 static void    _engage_bar_update_policy(Engage_Bar *eb);
 static void    _engage_bar_motion_handle(Engage_Bar *eb, Evas_Coord mx, 
Evas_Coord my);
+static void    _engage_bar_zoom_factor_set(Engage_Bar *eb, double zoom);
 
 static Engage_Icon *_engage_icon_new(Engage_Bar *eb, E_App *a);
 static void    _engage_icon_free(Engage_Icon *ic);
@@ -109,6 +110,10 @@
 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_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);
+static void    _engage_bar_cb_menu_zoom_huge(void *data, E_Menu *m, 
E_Menu_Item *mi);
 
 static int     _engage_zoom_function(double d, double *zoom, double *disp, 
Engage_Bar *eb);
 static int     _engage_border_ignore(E_Border *bd);
@@ -542,6 +547,7 @@
 {
    e_object_unref(E_OBJECT(eb->con));
 
+   e_object_del(E_OBJECT(eb->zoom_menu));
    e_object_del(E_OBJECT(eb->menu));
 
    while (eb->icons)
@@ -574,6 +580,25 @@
    E_Menu_Item *mi;
 
    mn = e_menu_new();
+   eb->zoom_menu = mn;
+   
+   mi = e_menu_item_new(mn);
+   e_menu_item_label_set(mi, "Small");
+   e_menu_item_callback_set(mi, _engage_bar_cb_menu_zoom_small, eb);
+   
+   mi = e_menu_item_new(mn);
+   e_menu_item_label_set(mi, "Medium");
+   e_menu_item_callback_set(mi, _engage_bar_cb_menu_zoom_medium, eb);
+
+   mi = e_menu_item_new(mn);
+   e_menu_item_label_set(mi, "Large");
+   e_menu_item_callback_set(mi, _engage_bar_cb_menu_zoom_large, eb);
+   
+   mi = e_menu_item_new(mn);
+   e_menu_item_label_set(mi, "Huge");
+   e_menu_item_callback_set(mi, _engage_bar_cb_menu_zoom_huge, eb);
+   
+   mn = e_menu_new();
    eb->menu = mn;
 
    mi = e_menu_item_new(mn);
@@ -582,6 +607,10 @@
    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_separator_set(mi, 1);
         
@@ -1415,6 +1444,13 @@
 }
 
 static void
+_engage_bar_zoom_factor_set(Engage_Bar *eb, double zoom)
+{
+   eb->conf->zoom_factor = zoom;
+   e_config_save_queue();
+}
+
+static void
 _engage_icon_cb_intercept_move(void *data, Evas_Object *o, Evas_Coord x, 
Evas_Coord y)
 {
    Engage_Icon *ic;
@@ -1828,6 +1864,42 @@
    e_config_save_queue();
 }
 
+static void
+_engage_bar_cb_menu_zoom_small(void *data, E_Menu *m, E_Menu_Item *mi)
+{
+   Engage_Bar *eb;
+
+   eb = data;
+   _engage_bar_zoom_factor_set(eb, 1.5);
+}
+
+static void
+_engage_bar_cb_menu_zoom_medium(void *data, E_Menu *m, E_Menu_Item *mi)
+{
+   Engage_Bar *eb;
+
+   eb = data;
+   _engage_bar_zoom_factor_set(eb, 2.0);
+}
+
+static void
+_engage_bar_cb_menu_zoom_large(void *data, E_Menu *m, E_Menu_Item *mi)
+{
+   Engage_Bar *eb;
+
+   eb = data;
+   _engage_bar_zoom_factor_set(eb, 2.3);
+}
+
+static void
+_engage_bar_cb_menu_zoom_huge(void *data, E_Menu *m, E_Menu_Item *mi)
+{
+   Engage_Bar *eb;
+
+   eb = data;
+   _engage_bar_zoom_factor_set(eb, 2.6);
+}
+
 
 /* engage ported functions */
 
===================================================================
RCS file: /cvsroot/enlightenment/misc/engage/src/module/e_mod_main.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- e_mod_main.h        3 Mar 2005 15:51:02 -0000       1.6
+++ e_mod_main.h        14 Mar 2005 14:12:34 -0000      1.7
@@ -45,6 +45,7 @@
    E_Container *con;
    Evas        *evas;
    E_Menu      *menu;
+   E_Menu      *zoom_menu;
    
    Evas_Object *bar_object;
    Evas_Object *box_object;




-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to