e-map: Add simplification API to zoom from a certain state
This commit is contained in:
committed by
Matthew Barnes
parent
963d59c44a
commit
5d73cd320f
@ -238,6 +238,20 @@ G_DEFINE_TYPE (
|
||||
e_map,
|
||||
GTK_TYPE_WIDGET)
|
||||
|
||||
static void
|
||||
e_map_tween_new_from (EMap *view, guint msecs, double longitude, double latitude, double zoom)
|
||||
{
|
||||
double current_longitude, current_latitude;
|
||||
|
||||
e_map_get_current_location (view, ¤t_longitude, ¤t_latitude);
|
||||
|
||||
e_map_tween_new (view,
|
||||
msecs,
|
||||
longitude - current_longitude,
|
||||
latitude - current_latitude,
|
||||
zoom / e_map_get_magnification (view));
|
||||
}
|
||||
|
||||
/* ----------------- *
|
||||
* Widget management *
|
||||
* ----------------- */
|
||||
@ -842,20 +856,14 @@ e_map_zoom_to_location (EMap *map, gdouble longitude, gdouble latitude)
|
||||
|
||||
e_map_set_zoom (map, E_MAP_ZOOMED_IN);
|
||||
center_at (map, longitude, latitude);
|
||||
/* need to reget location, centering might have clipped it */
|
||||
e_map_get_current_location (map, &longitude, &latitude);
|
||||
|
||||
e_map_tween_new (map,
|
||||
150,
|
||||
prevlong - longitude,
|
||||
prevlat - latitude,
|
||||
prevzoom / e_map_get_magnification (map));
|
||||
e_map_tween_new_from (map, 150, prevlong, prevlat, prevzoom);
|
||||
}
|
||||
|
||||
void
|
||||
e_map_zoom_out (EMap *map)
|
||||
{
|
||||
double longitude, latitude, actual_longitude, actual_latitude;
|
||||
double longitude, latitude;
|
||||
double prevzoom;
|
||||
|
||||
g_return_if_fail (map);
|
||||
@ -866,14 +874,7 @@ e_map_zoom_out (EMap *map)
|
||||
e_map_set_zoom (map, E_MAP_ZOOMED_OUT);
|
||||
center_at (map, longitude, latitude);
|
||||
|
||||
/* need to reget location, centering might have clipped it */
|
||||
e_map_get_current_location (map, &actual_longitude, &actual_latitude);
|
||||
|
||||
e_map_tween_new (map,
|
||||
150,
|
||||
longitude - actual_longitude,
|
||||
latitude - actual_latitude,
|
||||
prevzoom / e_map_get_magnification (map));
|
||||
e_map_tween_new_from (map, 150, longitude, latitude, prevzoom);
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
Reference in New Issue
Block a user