Looks good and better :)
Please check warnings though.
Thanks.

Daniel Juyung Seo (SeoZ)

On Thu, May 5, 2011 at 12:01 AM, Enlightenment SVN <
no-re...@enlightenment.org> wrote:

> Log:
> Elementary map: add elm_menu to test_map
>
>
> Author:       gouache
> Date:         2011-05-04 08:01:07 -0700 (Wed, 04 May 2011)
> New Revision: 59193
> Trac:         http://trac.enlightenment.org/e/changeset/59193
>
> Modified:
>  trunk/elementary/src/bin/test_map.c trunk/elementary/src/lib/elm_map.c
>
> Modified: trunk/elementary/src/bin/test_map.c
> ===================================================================
> --- trunk/elementary/src/bin/test_map.c 2011-05-04 14:11:12 UTC (rev 59192)
> +++ trunk/elementary/src/bin/test_map.c 2011-05-04 15:01:07 UTC (rev 59193)
> @@ -4,6 +4,7 @@
>  #endif
>  #ifndef ELM_LIB_QUICKLAUNCH
>
> +#define SOURCE_MAX 10
>  #define MARKER_MAX 1000
>  #define NAME_ENTRY_TEXT "Enter freeform address"
>
> @@ -12,17 +13,25 @@
>    const char *file;
>  } Marker_Data;
>
> +typedef struct Map_Source
> +{
> +   Evas_Object *map;
> +   char *source_name;
> +} Map_Source;
>
>  static Elm_Map_Marker_Class *itc1, *itc2, *itc_parking;
>  static Elm_Map_Group_Class *itc_group1, *itc_group2, *itc_group_parking;
>
> -static Evas_Object *rect;
> +static Evas_Object *rect, *menu;
>  static int nb_elts;
>  static Elm_Map_Marker *markers[MARKER_MAX];
>  static Elm_Map_Marker *route_from, *route_to;
>  static Elm_Map_Route *route;
>  static Elm_Map_Name *name;
>  static const char **source_names = NULL;
> +static Evas_Coord old_x, old_y;
> +static Evas_Coord old_d;
> +static Map_Source ms[SOURCE_MAX];
>
>  Marker_Data data1 = {PACKAGE_DATA_DIR"/images/logo.png"};
>  Marker_Data data2 = {PACKAGE_DATA_DIR"/images/logo_small.png"};
> @@ -252,35 +261,41 @@
>  }
>
>  static void
> -my_bt_show_reg(void *data, Evas_Object *obj __UNUSED__, void *event_info
> __UNUSED__)
> +map_zoom_in(void *data, Evas_Object *obj __UNUSED__, void *event_info
> __UNUSED__)
>  {
> -   Eina_Bool b = elm_map_paused_get(data);
> -   elm_map_paused_set(data, EINA_TRUE);
> +   double zoom;
> +
> +   zoom = elm_map_zoom_get(data);
> +   zoom += 1;
>    elm_map_zoom_mode_set(data, ELM_MAP_ZOOM_MODE_MANUAL);
> -   elm_map_geo_region_show(data, 126.977969, 37.566535);
> -   elm_map_zoom_set(data, 18);
> -   elm_map_paused_set(data, b);
> +   if (zoom >= (1.0 / 32.0)) elm_map_zoom_set(data, zoom);
>  }
>
>  static void
> -my_bt_bring_reg(void *data, Evas_Object *obj __UNUSED__, void *event_info
> __UNUSED__)
> +map_zoom_out(void *data, Evas_Object *obj __UNUSED__, void *event_info
> __UNUSED__)
>  {
> -   elm_map_geo_region_bring_in(data, 126.977969, 37.566535);
> +   double zoom;
> +
> +   zoom = elm_map_zoom_get(data);
> +   zoom -= 1;
> +   elm_map_zoom_mode_set(data, ELM_MAP_ZOOM_MODE_MANUAL);
> +   if (zoom <= 256.0) elm_map_zoom_set(data, zoom);
>  }
>
>  static void
> -my_bt_zoom_in(void *data, Evas_Object *obj __UNUSED__, void *event_info
> __UNUSED__)
> +map_zoom_fit(void *data, Evas_Object *obj __UNUSED__, void *event_info
> __UNUSED__)
>  {
> -   double zoom;
> +   elm_map_zoom_mode_set(data, ELM_MAP_ZOOM_MODE_AUTO_FIT);
> +}
>
> -   zoom = elm_map_zoom_get(data);
> -   zoom += 1;
> -   elm_map_zoom_mode_set(data, ELM_MAP_ZOOM_MODE_MANUAL);
> -   if (zoom >= (1.0 / 32.0)) elm_map_zoom_set(data, zoom);
> +static void
> +map_zoom_fill(void *data, Evas_Object *obj __UNUSED__, void *event_info
> __UNUSED__)
> +{
> +   elm_map_zoom_mode_set(data, ELM_MAP_ZOOM_MODE_AUTO_FILL);
>  }
>
>  static void
> -my_bt_rotate_cw(void *data, Evas_Object *obj __UNUSED__, void *event_info
> __UNUSED__)
> +map_rotate_cw(void *data, Evas_Object *obj __UNUSED__, void *event_info
> __UNUSED__)
>  {
>    double d;
>    Evas_Coord x, y, w, h;
> @@ -295,7 +310,7 @@
>  }
>
>  static void
> -my_bt_rotate_ccw(void *data, Evas_Object *obj __UNUSED__, void *event_info
> __UNUSED__)
> +map_rotate_ccw(void *data, Evas_Object *obj __UNUSED__, void *event_info
> __UNUSED__)
>  {
>    double d;
>    Evas_Coord x, y, w, h;
> @@ -310,52 +325,29 @@
>  }
>
>  static void
> -my_bt_zoom_out(void *data, Evas_Object *obj __UNUSED__, void *event_info
> __UNUSED__)
> +map_rotate_reset(void *data, Evas_Object *obj __UNUSED__, void *event_info
> __UNUSED__)
>  {
> -   double zoom;
> +   Evas_Coord x, y, w, h;
> +   float half_w, half_h;
> +   evas_object_geometry_get(data, &x, &y, &w, &h);
> +   half_w = (float)w * 0.5;
> +   half_h = (float)h * 0.5;
>
> -   zoom = elm_map_zoom_get(data);
> -   zoom -= 1;
> -   elm_map_zoom_mode_set(data, ELM_MAP_ZOOM_MODE_MANUAL);
> -   if (zoom <= 256.0) elm_map_zoom_set(data, zoom);
> +   elm_map_rotate_set(data, 0.0, x + half_w, y + half_h);
>  }
>
>  static void
> -my_bt_pause(void *data, Evas_Object *obj __UNUSED__, void *event_info
> __UNUSED__)
> +map_source(void *data, Evas_Object *obj __UNUSED__, void *event_info
> __UNUSED__)
>  {
> -   elm_map_paused_set(data, !elm_map_paused_get(data));
> -}
> +   Map_Source *ms = data;
>
> -static void
> -my_bt_markers_pause(void *data, Evas_Object *obj __UNUSED__, void
> *event_info __UNUSED__)
> -{
> -   elm_map_paused_markers_set(data, !elm_map_paused_markers_get(data));
> +   if (!ms) return;
> +   elm_map_source_name_set(ms->map, ms->source_name);
>  }
>
>  static void
> -my_bt_zoom_fit(void *data, Evas_Object *obj __UNUSED__, void *event_info
> __UNUSED__)
> +map_marker_add(void *data)
>  {
> -   elm_map_zoom_mode_set(data, ELM_MAP_ZOOM_MODE_AUTO_FIT);
> -}
> -
> -static void
> -my_bt_zoom_fill(void *data, Evas_Object *obj __UNUSED__, void *event_info
> __UNUSED__)
> -{
> -   elm_map_zoom_mode_set(data, ELM_MAP_ZOOM_MODE_AUTO_FILL);
> -}
> -
> -static void
> -my_bt_source(void *data, Evas_Object *obj __UNUSED__, void *event_info)
> -{
> -   Elm_Flipselector_Item *it;
> -
> -   it = event_info;
> -   elm_map_source_name_set(data,  elm_flipselector_item_label_get(it));
> -}
> -
> -static void
> -my_bt_add(void *data, Evas_Object *obj __UNUSED__, void *event_info
> __UNUSED__)
> -{
>    int i;
>    Elm_Map_Group_Class *g_clas;
>    Elm_Map_Marker_Class *m_clas;
> @@ -394,7 +386,7 @@
>  }
>
>  static void
> -my_bt_remove(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void
> *event_info __UNUSED__)
> +map_marker_remove(void *data __UNUSED__)
>  {
>    int i;
>
> @@ -495,10 +487,109 @@
>    evas_object_move(rect,x,y);
>  }
>
> +static void
> +_populate(void *data, Elm_Menu_Item *item)
> +{
> +   int idx;
> +
> +   if (!ms) return;
> +   if ((!data) || (!item) || (!source_names)) return;
> +   for (idx = 0; source_names[idx]; idx++)
> +     {
> +        if (idx >= SOURCE_MAX) break;
> +        ms[idx].map = data;
> +        ms[idx].source_name = strdup(source_names[idx]);
> +        elm_menu_item_add(menu, item, "", source_names[idx], map_source,
> &ms[idx]);
> +     }
> +}
> +
> +static void
> +_map_mouse_down(void *data, Evas *evas __UNUSED__, Evas_Object *obj, void
> *event_info)
> +{
> +   Evas_Event_Mouse_Down *down = event_info;
> +   Elm_Menu_Item *item;
> +   if (!down) return;
> +
> +   if (down->button == 2)
> +     {
> +        old_x = down->output.x;
> +        old_y = down->output.y;
> +        old_d = 0.0;
> +     }
> +   else if (down->button == 3)
> +     {
> +        menu = elm_menu_add(obj);
> +        item = elm_menu_item_add(menu, NULL, NULL, "Source", NULL, NULL);
> +        _populate(data, item);
> +        elm_menu_item_add(menu, NULL, NULL, "Zoom +", map_zoom_in, data);
> +        elm_menu_item_add(menu, NULL, NULL, "Zoom -", map_zoom_out, data);
> +        elm_menu_item_add(menu, NULL, NULL, "Zoom Fit", map_zoom_fit,
> data);
> +        elm_menu_item_add(menu, NULL, NULL, "Zoom Fill", map_zoom_fill,
> data);
> +        elm_menu_item_add(menu, NULL, NULL, "Add Marker", NULL, NULL);
> +        elm_menu_item_add(menu, NULL, NULL, "Rotate CW", map_rotate_cw,
> data);
> +        elm_menu_item_add(menu, NULL, NULL, "Rotate CCW", map_rotate_ccw,
> data);
> +        elm_menu_item_add(menu, NULL, NULL, "Reset Rotate",
> map_rotate_reset, data);
> +
> +        elm_menu_move(menu, down->canvas.x, down->canvas.y);
> +        evas_object_show(menu);
> +     }
> +}
> +
> +static void
> +_map_mouse_move(void *data, Evas *evas __UNUSED__, Evas_Object *obj
> __UNUSED__, void *event_info)
> +{
> +   Evas_Event_Mouse_Move *move = event_info;
> +   Evas_Coord x, y, w, h;
> +   float half_w, half_h;
> +   int d, d_diff;
> +   double cur_d;
> +   if (!move) return;
> +
> +   if (move->buttons == 2)
> +     {
> +        evas_object_geometry_get(data, &x, &y, &w, &h);
> +        half_w = (float)w * 0.5;
> +        half_h = (float)h * 0.5;
> +        elm_map_rotate_get(data, &cur_d, NULL, NULL);
> +
> +        d = move->cur.output.x - old_x;
> +        if (!old_d) old_d = d;
> +        else
> +          {
> +             d_diff = old_d - d;
> +             if (d_diff > 0)
> +               {
> +                  old_d --;
> +                  cur_d += 1.0;
> +               }
> +             else if (d_diff < 0)
> +               {
> +                  old_d ++;
> +                  cur_d -= 1.0;
> +               }
> +             old_d = d;
> +             elm_map_rotate_set(data, cur_d, x + half_w, y + half_h);
> +          }
> +     }
> +}
> +
> +static void
> +_map_mouse_up(void *data, Evas *evas __UNUSED__, Evas_Object *obj
> __UNUSED__, void *event_info)
> +{
> +   Evas_Event_Mouse_Up *up = event_info;
> +   if (!up) return;
> +
> +   if (up->button == 2)
> +     {
> +        old_x = 0;
> +        old_y = 0;
> +     }
> +}
> +
>  void
>  test_map(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void
> *event_info __UNUSED__)
>  {
> -   Evas_Object *win, *bg, *map, *tb2, *bt, *bx, *en;
> +   Evas_Object *win, *bg, *map;
>    int idx = 0;
>
>    win = elm_win_add(NULL, "map", ELM_WIN_BASIC);
> @@ -568,6 +659,12 @@
>                                        _map_move_resize_cb, map);
>         evas_object_event_callback_add(map, EVAS_CALLBACK_MOVE,
>                                        _map_move_resize_cb, map);
> +        evas_object_event_callback_add(map, EVAS_CALLBACK_MOUSE_DOWN,
> +                                       _map_mouse_down, map);
> +        evas_object_event_callback_add(map, EVAS_CALLBACK_MOUSE_MOVE,
> +                                       _map_mouse_move, map);
> +        evas_object_event_callback_add(map, EVAS_CALLBACK_MOUSE_UP,
> +                                       _map_mouse_up, map);
>
>         elm_map_marker_add(map, 2.352, 48.857, itc1, itc_group1, &data1);
>         elm_map_marker_add(map, 2.355, 48.857, itc1, itc_group1, &data3);
> @@ -607,159 +704,6 @@
>         evas_object_smart_callback_add(map, "name,loaded",
> my_map_name_loaded, map);
>
>         evas_object_show(map);
> -
> -        tb2 = elm_table_add(win);
> -        evas_object_size_hint_weight_set(tb2, EVAS_HINT_EXPAND,
> EVAS_HINT_EXPAND);
> -        elm_win_resize_object_add(win, tb2);
> -
> -        bt = elm_button_add(win);
> -        elm_button_label_set(bt, "Z -");
> -        evas_object_smart_callback_add(bt, "clicked", my_bt_zoom_out,
> map);
> -        evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND,
> EVAS_HINT_EXPAND);
> -        evas_object_size_hint_align_set(bt, 0.1, 0.1);
> -        elm_table_pack(tb2, bt, 0, 0, 1, 1);
> -        evas_object_show(bt);
> -
> -        bt = elm_button_add(win);
> -        elm_button_label_set(bt, "Z +");
> -        evas_object_smart_callback_add(bt, "clicked", my_bt_zoom_in, map);
> -        evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND,
> EVAS_HINT_EXPAND);
> -        evas_object_size_hint_align_set(bt, 0.9, 0.1);
> -        elm_table_pack(tb2, bt, 2, 0, 1, 1);
> -        evas_object_show(bt);
> -
> -        bx = elm_box_add(win);
> -        evas_object_show(bx);
> -        evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND,
> EVAS_HINT_EXPAND);
> -        evas_object_size_hint_align_set(bx, 0.5, 0.1);
> -        elm_table_pack(tb2, bx, 1, 0, 1, 1);
> -
> -        //
> -        en = elm_scrolled_entry_add(win);
> -        evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0);
> -        evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5);
> -        elm_scrolled_entry_scrollbar_policy_set(en,
> ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
> -        elm_scrolled_entry_entry_set(en, NAME_ENTRY_TEXT);
> -        elm_scrolled_entry_single_line_set(en, 1);
> -        elm_box_pack_end(bx, en);
> -        evas_object_smart_callback_add(en, "focused",
> my_map_entry_focused, win);
> -        evas_object_smart_callback_add(en, "activated",
> my_map_entry_activated, map);
> -        evas_object_show(en);
> -
> -        //
> -        bt = elm_button_add(win);
> -        elm_button_label_set(bt, "Add 1000 markers");
> -        evas_object_smart_callback_add(bt, "clicked", my_bt_add, map);
> -        evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND,
> EVAS_HINT_EXPAND);
> -        evas_object_size_hint_align_set(bt, 0.5, 0.1);
> -        evas_object_show(bt);
> -        elm_box_pack_end(bx, bt);
> -
> -        bt = elm_button_add(win);
> -        elm_button_label_set(bt, "remove 1000 markers");
> -        evas_object_smart_callback_add(bt, "clicked", my_bt_remove, map);
> -        evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND,
> EVAS_HINT_EXPAND);
> -        evas_object_size_hint_align_set(bt, 0.5, 0.1);
> -        evas_object_show(bt);
> -        elm_box_pack_end(bx, bt);
> -        //
> -
> -        bt = elm_button_add(win);
> -        elm_button_label_set(bt, "Show Seoul");
> -        evas_object_smart_callback_add(bt, "clicked", my_bt_show_reg,
> map);
> -        evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND,
> EVAS_HINT_EXPAND);
> -        evas_object_size_hint_align_set(bt, 0.1, 0.5);
> -        elm_table_pack(tb2, bt, 0, 1, 1, 1);
> -        evas_object_show(bt);
> -
> -        bt = elm_button_add(win);
> -        elm_button_label_set(bt, "Bring Seoul");
> -        evas_object_smart_callback_add(bt, "clicked", my_bt_bring_reg,
> map);
> -        evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND,
> EVAS_HINT_EXPAND);
> -        evas_object_size_hint_align_set(bt, 0.9, 0.5);
> -        elm_table_pack(tb2, bt, 2, 1, 1, 1);
> -        evas_object_show(bt);
> -
> -        //
> -        bx = elm_box_add(win);
> -        evas_object_show(bx);
> -        evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND,
> EVAS_HINT_EXPAND);
> -        evas_object_size_hint_align_set(bx, 0.1, 0.9);
> -        elm_table_pack(tb2, bx, 0, 2, 1, 1);
> -
> -        bt = elm_button_add(win);
> -        elm_button_label_set(bt, "Pause On/Off");
> -        evas_object_smart_callback_add(bt, "clicked", my_bt_pause, map);
> -        evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND,
> EVAS_HINT_EXPAND);
> -        evas_object_size_hint_align_set(bt, 0.1, 0.9);
> -        evas_object_show(bt);
> -        elm_box_pack_end(bx, bt);
> -
> -        bt = elm_button_add(win);
> -        elm_button_label_set(bt, "Markers pause On/Off");
> -        evas_object_smart_callback_add(bt, "clicked", my_bt_markers_pause,
> map);
> -        evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND,
> EVAS_HINT_EXPAND);
> -        evas_object_size_hint_align_set(bt, 0.1, 0.9);
> -        evas_object_show(bt);
> -        elm_box_pack_end(bx, bt);
> -
> -        bt = elm_button_add(win);
> -        elm_button_label_set(bt, "R +");
> -        evas_object_smart_callback_add(bt, "clicked", my_bt_rotate_cw,
> map);
> -        evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND,
> EVAS_HINT_EXPAND);
> -        evas_object_size_hint_align_set(bt, 0.1, 0.9);
> -        evas_object_show(bt);
> -        elm_box_pack_end(bx, bt);
> -
> -        bt = elm_button_add(win);
> -        elm_button_label_set(bt, "R -");
> -        evas_object_smart_callback_add(bt, "clicked", my_bt_rotate_ccw,
> map);
> -        evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND,
> EVAS_HINT_EXPAND);
> -        evas_object_size_hint_align_set(bt, 0.1, 0.9);
> -        evas_object_show(bt);
> -        elm_box_pack_end(bx, bt);
> -        //
> -
> -        //
> -        bx = elm_box_add(win);
> -        evas_object_show(bx);
> -        evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND,
> EVAS_HINT_EXPAND);
> -        evas_object_size_hint_align_set(bx, 0.5, 0.9);
> -        elm_table_pack(tb2, bx, 1, 2, 1, 1);
> -
> -        bt = elm_button_add(win);
> -        elm_button_label_set(bt, "Fit");
> -        evas_object_smart_callback_add(bt, "clicked", my_bt_zoom_fit,
> map);
> -        evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND,
> EVAS_HINT_EXPAND);
> -        evas_object_size_hint_align_set(bt, 0.5, 0.9);
> -        evas_object_show(bt);
> -        elm_box_pack_end(bx, bt);
> -
> -        bt = elm_button_add(win);
> -        elm_button_label_set(bt, "Fill");
> -        evas_object_smart_callback_add(bt, "clicked", my_bt_zoom_fill,
> map);
> -        evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND,
> EVAS_HINT_EXPAND);
> -        evas_object_size_hint_align_set(bt, 0.5, 0.9);
> -        evas_object_show(bt);
> -        elm_box_pack_end(bx, bt);
> -        //
> -
> -        //
> -        bx = elm_box_add(win);
> -        evas_object_show(bx);
> -        evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND,
> EVAS_HINT_EXPAND);
> -        evas_object_size_hint_align_set(bx, 1.0, 0.9);
> -        elm_table_pack(tb2, bx, 2, 2, 1, 1);
> -
> -        bt = elm_flipselector_add(win);
> -        evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND,
> EVAS_HINT_EXPAND);
> -        for (idx = 0; source_names[idx] ; idx++)
> -          elm_flipselector_item_append(bt, source_names[idx],
> my_bt_source, map);
> -        evas_object_show(bt);
> -        elm_box_pack_end(bx, bt);
> -        //
> -
> -        evas_object_show(tb2);
>      }
>
>    evas_object_resize(win, 800, 800);
>
> Modified: trunk/elementary/src/lib/elm_map.c
> ===================================================================
> --- trunk/elementary/src/lib/elm_map.c  2011-05-04 14:11:12 UTC (rev 59192)
> +++ trunk/elementary/src/lib/elm_map.c  2011-05-04 15:01:07 UTC (rev 59193)
> @@ -92,8 +92,8 @@
>  #define NOMINATIM_ATTR_LON "lon"
>  #define NOMINATIM_ATTR_LAT "lat"
>
> -#define PINCH_ZOOM_MIN 0.25
> -#define PINCH_ZOOM_MAX 3.0
> +#define PINCH_ZOOM_MIN 0.1
> +#define PINCH_ZOOM_MAX 5.0
>
>  // Map sources
>  // Currently the size of a tile must be 256*256
> @@ -1625,13 +1625,6 @@
>    Event *ev0;
>
>    if (!wd) return;
> -   if (ev->button == 2)
> -     {
> -        if (wd->wheel_timer) ecore_timer_del(wd->wheel_timer);
> -        wd->wheel_timer = ecore_timer_add(0.35, _wheel_timer_cb, data);
> -        return;
> -     }
> -
>    ev0 = get_event_object(data, 0);
>    if (ev0) return;
>    ev0 = create_event_object(data, obj, 0);
> @@ -1894,13 +1887,13 @@
>    if (ev->z > 0)
>      {
>         wd->zoom_method = ZOOM_METHOD_OUT;
> -        wd->wheel_zoom -= 0.1;
> +        wd->wheel_zoom -= 0.05;
>         if (wd->wheel_zoom <= PINCH_ZOOM_MIN) wd->wheel_zoom =
> PINCH_ZOOM_MIN;
>      }
>    else
>      {
>         wd->zoom_method = ZOOM_METHOD_IN;
> -        wd->wheel_zoom += 0.1;
> +        wd->wheel_zoom += 0.2;
>         if (wd->wheel_zoom >= PINCH_ZOOM_MAX) wd->wheel_zoom =
> PINCH_ZOOM_MAX;
>      }
>
> @@ -1909,6 +1902,9 @@
>    wd->pinch.cy = y + half_h;
>    if (wd->calc_job) ecore_job_del(wd->calc_job);
>    wd->calc_job = ecore_job_add(_calc_job, wd);
> +
> +   if (wd->wheel_timer) ecore_timer_del(wd->wheel_timer);
> +   wd->wheel_timer = ecore_timer_add(0.35, _wheel_timer_cb, data);
>  }
>
>
>
>
>
> ------------------------------------------------------------------------------
> WhatsUp Gold - Download Free Network Management Software
> The most intuitive, comprehensive, and cost-effective network
> management toolset available today.  Delivers lowest initial
> acquisition cost and overall TCO of any competing solution.
> http://p.sf.net/sfu/whatsupgold-sd
> _______________________________________________
> enlightenment-svn mailing list
> enlightenment-...@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-svn
>
------------------------------------------------------------------------------
WhatsUp Gold - Download Free Network Management Software
The most intuitive, comprehensive, and cost-effective network 
management toolset available today.  Delivers lowest initial 
acquisition cost and overall TCO of any competing solution.
http://p.sf.net/sfu/whatsupgold-sd
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to