+void vik_viewport_set_center_utm ( VikViewport *vvp, const struct UTM *utm );
+void vik_viewport_set_center_latlon ( VikViewport *vvp, const struct LatLon *ll );
+void vik_viewport_corners_for_zonen ( VikViewport *vvp, int zone, VikCoord *ul, VikCoord *br );
+void vik_viewport_get_min_max_lat_lon ( VikViewport *vp, gdouble *min_lat, gdouble *max_lat, gdouble *min_lon, gdouble *max_lon );
+
+
+/* drawmode management */
+typedef enum {
+ VIK_VIEWPORT_DRAWMODE_UTM=0,
+ VIK_VIEWPORT_DRAWMODE_EXPEDIA,
+ VIK_VIEWPORT_DRAWMODE_GOOGLE,
+ VIK_VIEWPORT_DRAWMODE_KH,
+ VIK_VIEWPORT_DRAWMODE_MERCATOR,
+ VIK_VIEWPORT_NUM_DRAWMODES
+} VikViewportDrawMode;
+
+VikCoordMode vik_viewport_get_coord_mode ( const VikViewport *vvp );
+gboolean vik_viewport_is_one_zone ( VikViewport *vvp );
+const gchar *vik_viewport_get_drawmode_name(VikViewport *vv, VikViewportDrawMode mode);
+void vik_viewport_set_drawmode ( VikViewport *vvp, VikViewportDrawMode drawmode );
+VikViewportDrawMode vik_viewport_get_drawmode ( VikViewport *vvp );
+ /* Do not forget to update vik_viewport_get_drawmode_name() if you modify VikViewportDrawMode */