]> git.street.me.uk Git - andy/viking.git/blobdiff - src/vikwaypoint.h
Fix waypoints may not be drawn when created by paste of a text location.
[andy/viking.git] / src / vikwaypoint.h
index 965cc651693767d40d91965d0ca8809e4ec52293..d7cac9f495c68bb7406037afc000877d8a9b4a7f 100644 (file)
 #ifndef _VIKING_WAYPOINT_H
 #define _VIKING_WAYPOINT_H
 
 #ifndef _VIKING_WAYPOINT_H
 #define _VIKING_WAYPOINT_H
 
+#include "vikcoord.h"
+
+#include <gdk-pixbuf/gdk-pixdata.h>
+
+G_BEGIN_DECLS
 /* todo important: put these in their own header file, maybe.probably also rename */
 
 #define VIK_WAYPOINT(x) ((VikWaypoint *)(x))
 /* todo important: put these in their own header file, maybe.probably also rename */
 
 #define VIK_WAYPOINT(x) ((VikWaypoint *)(x))
@@ -31,22 +36,38 @@ typedef struct _VikWaypoint VikWaypoint;
 struct _VikWaypoint {
   VikCoord coord;
   gboolean visible;
 struct _VikWaypoint {
   VikCoord coord;
   gboolean visible;
+  gboolean has_timestamp;
+  time_t timestamp;
   gdouble altitude;
   gdouble altitude;
+  gchar *name;
   gchar *comment;
   gchar *comment;
+  gchar *description;
+  gchar *url;
   gchar *image;
   /* a rather misleading, ugly hack needed for trwlayer's click image.
    * these are the height at which the thumbnail is being drawn, not the 
    * dimensions of the original image. */
   guint8 image_width;
   guint8 image_height;
   gchar *image;
   /* a rather misleading, ugly hack needed for trwlayer's click image.
    * these are the height at which the thumbnail is being drawn, not the 
    * dimensions of the original image. */
   guint8 image_width;
   guint8 image_height;
-  /* int symbol; */
+  gchar *symbol;
+  // Only for GUI display
+  GdkPixbuf *symbol_pixbuf;
 };
 
 VikWaypoint *vik_waypoint_new();
 };
 
 VikWaypoint *vik_waypoint_new();
+void vik_waypoint_set_name(VikWaypoint *wp, const gchar *name);
 void vik_waypoint_set_comment(VikWaypoint *wp, const gchar *comment);
 void vik_waypoint_set_comment(VikWaypoint *wp, const gchar *comment);
+void vik_waypoint_set_description(VikWaypoint *wp, const gchar *description);
+void vik_waypoint_set_url(VikWaypoint *wp, const gchar *url);
 void vik_waypoint_set_image(VikWaypoint *wp, const gchar *image);
 void vik_waypoint_set_image(VikWaypoint *wp, const gchar *image);
+void vik_waypoint_set_symbol(VikWaypoint *wp, const gchar *symname);
 void vik_waypoint_free(VikWaypoint * wp);
 VikWaypoint *vik_waypoint_copy(const VikWaypoint *wp);
 void vik_waypoint_set_comment_no_copy(VikWaypoint *wp, gchar *comment);
 void vik_waypoint_free(VikWaypoint * wp);
 VikWaypoint *vik_waypoint_copy(const VikWaypoint *wp);
 void vik_waypoint_set_comment_no_copy(VikWaypoint *wp, gchar *comment);
+gboolean vik_waypoint_apply_dem_data ( VikWaypoint *wp, gboolean skip_existing );
+void vik_waypoint_marshall ( VikWaypoint *wp, guint8 **data, guint *len);
+VikWaypoint *vik_waypoint_unmarshall (guint8 *data, guint datalen);
+
+G_END_DECLS
 
 #endif
 
 #endif