+/******** triggering *******/
+void vik_viewport_set_trigger ( VikViewport *vp, gpointer trigger )
+{
+ vp->trigger = trigger;
+}
+
+gpointer vik_viewport_get_trigger ( VikViewport *vp )
+{
+ return vp->trigger;
+}
+
+void vik_viewport_snapshot_save ( VikViewport *vp )
+{
+ gdk_draw_drawable ( vp->snapshot_buffer, vp->background_gc, vp->scr_buffer, 0, 0, 0, 0, -1, -1 );
+}
+
+void vik_viewport_snapshot_load ( VikViewport *vp )
+{
+ gdk_draw_drawable ( vp->scr_buffer, vp->background_gc, vp->snapshot_buffer, 0, 0, 0, 0, -1, -1 );
+}
+
+void vik_viewport_set_half_drawn(VikViewport *vp, gboolean half_drawn)
+{
+ vp->half_drawn = half_drawn;
+}
+
+gboolean vik_viewport_get_half_drawn( VikViewport *vp )