You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(92) |
Dec
(141) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(126) |
Feb
(72) |
Mar
(31) |
Apr
(200) |
May
(81) |
Jun
(130) |
Jul
(112) |
Aug
(134) |
Sep
(76) |
Oct
(89) |
Nov
(153) |
Dec
(9) |
2007 |
Jan
(59) |
Feb
(82) |
Mar
(50) |
Apr
(20) |
May
(9) |
Jun
(81) |
Jul
(41) |
Aug
(109) |
Sep
(91) |
Oct
(87) |
Nov
(33) |
Dec
(60) |
2008 |
Jan
(21) |
Feb
(15) |
Mar
(38) |
Apr
(75) |
May
(59) |
Jun
(46) |
Jul
(30) |
Aug
(20) |
Sep
(35) |
Oct
(32) |
Nov
(34) |
Dec
(19) |
2009 |
Jan
(29) |
Feb
(71) |
Mar
(54) |
Apr
(17) |
May
(4) |
Jun
|
Jul
(3) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(3) |
2010 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(3) |
Aug
(58) |
Sep
(7) |
Oct
(7) |
Nov
(12) |
Dec
(18) |
2011 |
Jan
(17) |
Feb
(29) |
Mar
(11) |
Apr
(5) |
May
(1) |
Jun
|
Jul
|
Aug
(11) |
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(87) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(44) |
Jun
(79) |
Jul
(16) |
Aug
(31) |
Sep
|
Oct
(51) |
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
|
From: Paul F. <pg...@us...> - 2006-10-04 14:57:50
|
Update of /cvsroot/roadmap/roadmap/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv27860 Modified Files: roadmap_features.c Log Message: drop features whose lat/lon are 0/0 Index: roadmap_features.c =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/roadmap_features.c,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** roadmap_features.c 3 Oct 2006 21:54:20 -0000 1.3 --- roadmap_features.c 4 Oct 2006 14:57:44 -0000 1.4 *************** *** 68,71 **** --- 68,81 ---- static void roadmap_features_find_bounds(const waypoint *w) { + /* some US placename files have historical places listed + * with the long/lat zeroed out. they really throw off + * any efficiency we get from our bounding boxes. + */ + if (w->pos.longitude == 0 && w->pos.latitude == 0) { + waypt_del ((waypoint *)w); /* drop const -- this is safe */ + waypt_free ((waypoint *)w); + return; + } + if (w->pos.longitude > RoadMapFeatureList->area.east) RoadMapFeatureList->area.east = w->pos.longitude; *************** *** 273,277 **** /* Insert out-of-range waypoints at front and rear, to make ! * search algorithm simpler */ wpt = waypt_new(); wpt->pos.latitude = -91 * 1000000; --- 283,288 ---- /* Insert out-of-range waypoints at front and rear, to make ! * the search algorithm simpler. ! */ wpt = waypt_new(); wpt->pos.latitude = -91 * 1000000; |
From: Paul F. <pg...@us...> - 2006-10-04 14:57:03
|
Update of /cvsroot/roadmap/roadmap/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv27101 Modified Files: roadmap_track.c Log Message: change waypoint version of altitude from double to integer, in millimeters. saves 4 bytes per waypoint. Index: roadmap_track.c =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/roadmap_track.c,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** roadmap_track.c 2 Oct 2006 14:58:12 -0000 1.10 --- roadmap_track.c 4 Oct 2006 14:56:57 -0000 1.11 *************** *** 73,78 **** w->pos.longitude = gps_position->longitude; ! /* Change whatever we have to meters. */ ! w->altitude = roadmap_math_to_cm (gps_position->altitude) / 100.0; /* We have knots, but want meters per second. */ --- 73,78 ---- w->pos.longitude = gps_position->longitude; ! /* Change whatever we have to millimeters. */ ! w->altitude = roadmap_math_to_cm (gps_position->altitude) * 10; /* We have knots, but want meters per second. */ |
From: Paul F. <pg...@us...> - 2006-10-04 14:57:01
|
Update of /cvsroot/roadmap/roadmap/src/gpx In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv27101/gpx Modified Files: defs.h gpx.c Log Message: change waypoint version of altitude from double to integer, in millimeters. saves 4 bytes per waypoint. Index: defs.h =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/gpx/defs.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** defs.h 2 Oct 2006 14:20:20 -0000 1.3 --- defs.h 4 Oct 2006 14:56:58 -0000 1.4 *************** *** 212,219 **** wp_flags wpt_flags; ! /* track information -- these three are usually only present ! * for data gathered "on the go". ! */ ! double altitude; /* Meters. */ float speed; /* Optional: meters per second. */ float course; /* Optional: degrees true */ --- 212,219 ---- wp_flags wpt_flags; ! /* track information -- these three are usually only present ! * for data gathered "on the go". ! */ ! int altitude; /* centimeters */ float speed; /* Optional: meters per second. */ float course; /* Optional: degrees true */ *************** *** 223,228 **** * waypoint. It may be used as a comment field in some receivers. * These are probably under 40 bytes, but that's only a guideline. ! * This text comes from the GPX <cmt> tag, and may be sent to ! * the GPS unit. */ char *description; --- 223,228 ---- * waypoint. It may be used as a comment field in some receivers. * These are probably under 40 bytes, but that's only a guideline. ! * This text comes from the GPX <cmt> tag, and may be sent to ! * the GPS unit. */ char *description; *************** *** 233,237 **** * used to compute anything else and are strictly "passed through". * This text comes from the GPX <desc> tag, and is strictly for ! * the user. RoadMap currently doesn't use this. */ char *notes; --- 233,237 ---- * used to compute anything else and are strictly "passed through". * This text comes from the GPX <desc> tag, and is strictly for ! * the user. RoadMap currently doesn't use this. */ char *notes; *************** *** 459,463 **** * but that's not very nice for the folks near sea level. */ ! #define unknown_alt -99999999.0 #endif /* gpsbabel_defs_h_included */ --- 459,463 ---- * but that's not very nice for the folks near sea level. */ ! #define unknown_alt 999999999 #endif /* gpsbabel_defs_h_included */ Index: gpx.c =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/gpx/gpx.c,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** gpx.c 2 Oct 2006 14:20:20 -0000 1.7 --- gpx.c 4 Oct 2006 14:56:58 -0000 1.8 *************** *** 883,887 **** case tt_rte_rtept_ele: case tt_trk_trkseg_trkpt_ele: ! sscanf(cdatastrp, "%lf", &wpt_tmp->altitude); break; case tt_wpt_name: --- 883,890 ---- case tt_rte_rtept_ele: case tt_trk_trkseg_trkpt_ele: ! { double dalt; ! sscanf(cdatastrp, "%lf", &dalt); ! wpt_tmp->altitude = dalt * 1000.0; ! } break; case tt_wpt_name: *************** *** 1179,1183 **** { char **pa; ! while (indent--) fputc(' ', ofd); fprintf( ofd, "%s%s", prefix, tag->tagname ); pa = tag->attributes; --- 1182,1186 ---- { char **pa; ! while (indent--) fputc(' ', ofd); fprintf( ofd, "%s%s", prefix, tag->tagname ); pa = tag->attributes; *************** *** 1195,1201 **** { char *tmp_ent; ! int i; while ( tag ) { ! i = indent; if ( !tag->cdata && !tag->child ) { fprint_tag_and_attrs(ofd, "<", " />", tag, i ); --- 1198,1204 ---- { char *tmp_ent; ! int i; while ( tag ) { ! i = indent; if ( !tag->cdata && !tag->child ) { fprint_tag_and_attrs(ofd, "<", " />", tag, i ); *************** *** 1211,1215 **** if ( tag->child ) { fprint_xml_chain(ofd, tag->child, wpt, i+1); ! while (i--) fputc(' ', ofd); } #if ROADMAP_UNNEEDED --- 1214,1218 ---- if ( tag->child ) { fprint_xml_chain(ofd, tag->child, wpt, i+1); ! while (i--) fputc(' ', ofd); } #if ROADMAP_UNNEEDED *************** *** 1349,1353 **** if (waypointp->altitude != unknown_alt) { fprintf(ofd, "%s<ele>%f</ele>\n", ! indent, waypointp->altitude); } if (waypointp->creation_time) { --- 1352,1356 ---- if (waypointp->altitude != unknown_alt) { fprintf(ofd, "%s<ele>%f</ele>\n", ! indent, ((double)(waypointp->altitude))/1000.0); } if (waypointp->creation_time) { |
From: Paul F. <pg...@us...> - 2006-10-03 21:54:23
|
Update of /cvsroot/roadmap/roadmap/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv19318 Modified Files: roadmap_features.c Log Message: sort the features lists by latitude, and use the sort order to reduce the search time greatly when large numbers of features are present. Index: roadmap_features.c =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/roadmap_features.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** roadmap_features.c 2 Oct 2006 15:27:31 -0000 1.2 --- roadmap_features.c 3 Oct 2006 21:54:20 -0000 1.3 *************** *** 40,43 **** --- 40,44 ---- static struct { RoadMapList head; + RoadMapListItem *southern; RoadMapPen pen; char * sprite; *************** *** 80,93 **** void roadmap_features_display (void) { for (RoadMapFeatureList = RoadMapFeatureLists; ROADMAP_LIST_FIRST(&RoadMapFeatureList->head) != NULL; RoadMapFeatureList++) { ! if (roadmap_math_is_visible (&RoadMapFeatureList->area)) ! waypt_iterator (&RoadMapFeatureList->head, roadmap_features_draw); } } void roadmap_features_load(void) { --- 81,125 ---- void roadmap_features_display (void) { + RoadMapListItem *southern, *w; + RoadMapArea screen; + + roadmap_math_screen_edges (&screen); + for (RoadMapFeatureList = RoadMapFeatureLists; ROADMAP_LIST_FIRST(&RoadMapFeatureList->head) != NULL; RoadMapFeatureList++) { ! if (!roadmap_math_is_visible (&RoadMapFeatureList->area)) ! continue; ! ! southern = RoadMapFeatureList->southern; ! ! if (!southern) { ! southern = ROADMAP_LIST_FIRST(&RoadMapFeatureList->head); ! } ! ! /* Assumes there are out-of-range "flag" waypoints at the ! * start and end of the list */ ! while (((waypoint *)southern)->pos.latitude >= ! screen.south) ! southern = ROADMAP_LIST_PREV(southern); ! while (((waypoint *)southern)->pos.latitude < ! screen.south) ! southern = ROADMAP_LIST_NEXT(southern); ! ! RoadMapFeatureList->southern = southern; ! w = southern; ! while (((waypoint *)w)->pos.latitude < screen.north) { ! roadmap_features_draw((waypoint *)w); ! w = ROADMAP_LIST_NEXT(w); ! } } } + static int latitude_waypoint_cmp( RoadMapListItem *a, RoadMapListItem *b) { + return ((waypoint *)a)->pos.latitude - ((waypoint *)b)->pos.latitude; + } + void roadmap_features_load(void) { *************** *** 146,149 **** --- 178,185 ---- } + if (ROADMAP_LIST_EMPTY(&tmp_waypoint_list)) { + continue; + } + ROADMAP_LIST_INIT(&RoadMapFeatureList->head); *************** *** 151,154 **** --- 187,192 ---- (&RoadMapFeatureList->head, &tmp_waypoint_list); + roadmap_list_sort(&RoadMapFeatureList->head, latitude_waypoint_cmp); + /* default sprite and label pen */ RoadMapFeatureList->sprite = "PointOfInterest"; *************** *** 218,221 **** --- 256,268 ---- ROADMAP_LIST_FIRST(&RoadMapFeatureList->head) != NULL; RoadMapFeatureList++) { + + waypoint *wpt; + + /* Calculate the list's bounding box + * (since the list is sorted and we check latitude that way, + * we don't really need the whole bounding box, but it's + * simpler just to do all four sides the same.) + */ + RoadMapFeatureList->area.west = 181 * 1000000; RoadMapFeatureList->area.east = -181 * 1000000; *************** *** 224,229 **** waypt_iterator (&RoadMapFeatureList->head, roadmap_features_find_bounds); - } } --- 271,286 ---- waypt_iterator (&RoadMapFeatureList->head, roadmap_features_find_bounds); + /* Insert out-of-range waypoints at front and rear, to make + * search algorithm simpler */ + wpt = waypt_new(); + wpt->pos.latitude = -91 * 1000000; + roadmap_list_insert(&RoadMapFeatureList->head, &(wpt->Q)); + + wpt = waypt_new(); + wpt->pos.latitude = 91 * 1000000; + roadmap_list_append(&RoadMapFeatureList->head, &(wpt->Q)); + + } } |
From: Paul F. <pg...@us...> - 2006-10-03 21:42:21
|
Update of /cvsroot/roadmap/roadmap/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv14586 Modified Files: roadmap_trip.c roadmap_landmark.c Log Message: sort the personal and trip landmarks alphabetically when they're loaded. Index: roadmap_landmark.c =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/roadmap_landmark.c,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** roadmap_landmark.c 2 Oct 2006 14:50:21 -0000 1.8 --- roadmap_landmark.c 3 Oct 2006 21:42:18 -0000 1.9 *************** *** 180,183 **** --- 180,187 ---- } + static int alpha_waypoint_cmp( RoadMapListItem *a, RoadMapListItem *b) { + return strcasecmp(((waypoint *)a)->shortname, ((waypoint *)b)->shortname); + } + static void roadmap_landmark_merge_file(const char *name) { *************** *** 203,206 **** --- 207,212 ---- ROADMAP_LIST_SPLICE(&RoadMapLandmarkHead, &tmp_waypoint_list); + roadmap_list_sort(&RoadMapLandmarkHead, alpha_waypoint_cmp); + RoadMapLandmarkModified = 1; RoadMapLandmarkRefresh = 1; *************** *** 261,264 **** --- 267,272 ---- ROADMAP_LIST_MOVE(&RoadMapLandmarkHead, &tmp_waypoint_list); + roadmap_list_sort(&RoadMapLandmarkHead, alpha_waypoint_cmp); + RoadMapLandmarkModified = 0; RoadMapLandmarkRefresh = 1; Index: roadmap_trip.c =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/roadmap_trip.c,v retrieving revision 1.64 retrieving revision 1.65 diff -C2 -d -r1.64 -r1.65 *** roadmap_trip.c 2 Oct 2006 18:00:52 -0000 1.64 --- roadmap_trip.c 3 Oct 2006 21:42:18 -0000 1.65 *************** *** 2009,2013 **** } ! static int roadmap_trip_load_file (const char *name, int silent, int merge) { --- 2009,2015 ---- } ! static int alpha_waypoint_cmp( RoadMapListItem *a, RoadMapListItem *b) { ! return strcasecmp(((waypoint *)a)->shortname, ((waypoint *)b)->shortname); ! } static int roadmap_trip_load_file (const char *name, int silent, int merge) { *************** *** 2074,2077 **** --- 2076,2080 ---- } + roadmap_list_sort(&RoadMapTripWaypointHead, alpha_waypoint_cmp); RoadMapCurrentRoute = NULL; |
From: Paul F. <pg...@us...> - 2006-10-03 21:40:34
|
Update of /cvsroot/roadmap/roadmap/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv14144 Modified Files: roadmap_start.c Log Message: ifdef all references to getgoogleroute Index: roadmap_start.c =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/roadmap_start.c,v retrieving revision 1.104 retrieving revision 1.105 diff -C2 -d -r1.104 -r1.105 *** roadmap_start.c 2 Oct 2006 14:53:55 -0000 1.104 --- roadmap_start.c 3 Oct 2006 21:40:30 -0000 1.105 *************** *** 644,648 **** --- 644,650 ---- "setasdestination", "allroutetoggle", + #if WGET_GOOGLE_ROUTE "getgoogleroute", + #endif ROADMAP_MENU "Places", |
From: Paul F. <pg...@us...> - 2006-10-03 21:37:34
|
Update of /cvsroot/roadmap/roadmap/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv12557 Modified Files: roadmap_list.c roadmap_list.h Log Message: added roadmap_list_sort() routine, for doing arbitrary sorts on linked lists Index: roadmap_list.c =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/roadmap_list.c,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** roadmap_list.c 17 Jul 2006 20:57:21 -0000 1.4 --- roadmap_list.c 3 Oct 2006 21:37:26 -0000 1.5 *************** *** 68,69 **** --- 68,238 ---- return i; } + + + /* + * The following code was derived from linked-list mergesort + * sample code by Simon Tatham, code obtained from: + * http://www.chiark.greenend.org.uk/~sgtatham/algorithms/listsort.html + * Modified for use with RoadMap's lists by Paul Fox, October 2006. + * + * Original description and copyright messages follow... + */ + + /* + * Demonstration code for sorting a linked list. + * + * The algorithm used is Mergesort, because that works really well + * on linked lists, without requiring the O(N) extra space it needs + * when you do it on arrays. + * + * This code can handle singly and doubly linked lists, and + * circular and linear lists too. For any serious application, + * you'll probably want to remove the conditionals on `is_circular' + * and `is_double' to adapt the code to your own purpose. + */ + + /* + * This file is copyright 2001 Simon Tatham. + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL SIMON TATHAM BE LIABLE FOR + * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF + * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + + + #define NULL (void *)0 + + typedef struct element element; + struct element { + element *next, *prev; + int i; + }; + + /* + * This is the actual sort function. Notice that it returns the new + * head of the list. (It has to, because the head will not + * generally be the same element after the sort.) So unlike sorting + * an array, where you can do + * + * sort(myarray); + * + * you now have to do + * + * list = listsort(mylist); + */ + void roadmap_list_sort + (RoadMapList *lh, int (*cmp)(RoadMapListItem *, RoadMapListItem *)) { + + RoadMapListItem *p, *q, *e, *tail, *oldhead, *list; + int insize, nmerges, psize, qsize, i; + + /* + * Special case: if `list' is empty, we're done. + */ + if (ROADMAP_LIST_EMPTY(lh)) + return; + + /* + * The algorithm doesn't really want the extra list head + * element. So remove the list head for now. Put it back later. + */ + + list = ROADMAP_LIST_FIRST(lh); + roadmap_list_remove((RoadMapListItem *)lh); + + insize = 1; + + while (1) { + p = list; + oldhead = list; /* only used for circular linkage */ + list = NULL; + tail = NULL; + + nmerges = 0; /* count number of merges we do in this pass */ + + while (p) { + nmerges++; /* there exists a merge to be done */ + /* step `insize' places along from p */ + q = p; + psize = 0; + for (i = 0; i < insize; i++) { + psize++; + q = (q->next == oldhead ? NULL : q->next); + if (!q) break; + } + + /* if q hasn't fallen off end, we have two lists to merge */ + qsize = insize; + + /* now we have two lists; merge them */ + while (psize > 0 || (qsize > 0 && q)) { + + /* decide whether next element of merge comes from p or q */ + if (psize == 0) { + /* p is empty; e must come from q. */ + e = q; q = q->next; qsize--; + if (q == oldhead) q = NULL; + } else if (qsize == 0 || !q) { + /* q is empty; e must come from p. */ + e = p; p = p->next; psize--; + if (p == oldhead) p = NULL; + } else if (cmp(p,q) <= 0) { + /* First element of p is lower (or same); + * e must come from p. */ + e = p; p = p->next; psize--; + if (p == oldhead) p = NULL; + } else { + /* First element of q is lower; e must come from q. */ + e = q; q = q->next; qsize--; + if (q == oldhead) q = NULL; + } + + /* add the next element to the merged list */ + if (tail) { + tail->next = e; + } else { + list = e; + } + + /* Maintain reverse pointers in a doubly linked list. */ + e->prev = tail; + + tail = e; + } + + /* now p has stepped `insize' places along, and q has too */ + p = q; + } + tail->next = list; + list->prev = tail; + + /* If we have done only one merge, we're finished. */ + if (nmerges <= 1) { /* allow for nmerges==0, the empty list case */ + + /* Put the list head back at the start of the list */ + roadmap_list_put_before(list, (RoadMapListItem *)lh); + return; + + } + + /* Otherwise repeat, merging lists twice the size */ + insize *= 2; + } + } Index: roadmap_list.h =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/roadmap_list.h,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** roadmap_list.h 18 Jul 2006 11:22:21 -0000 1.6 --- roadmap_list.h 3 Oct 2006 21:37:26 -0000 1.7 *************** *** 97,100 **** --- 97,104 ---- int roadmap_list_count(const RoadMapList *list); + /* Sorts the elements in a list */ + void roadmap_list_sort + (RoadMapList *lh, int (*cmp)(RoadMapListItem *, RoadMapListItem *)); + /* Inline functions (not macros) to help enforce type safety. */ static inline void roadmap_list_append(RoadMapList *lh, RoadMapListItem *e) { |
From: Paul F. <pg...@us...> - 2006-10-02 18:01:01
|
Update of /cvsroot/roadmap/roadmap/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv11940 Modified Files: roadmap_trip.c Log Message: fix gps focus forcing when resumeroute called with no current route Index: roadmap_trip.c =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/roadmap_trip.c,v retrieving revision 1.63 retrieving revision 1.64 diff -C2 -d -r1.63 -r1.64 *** roadmap_trip.c 2 Oct 2006 14:53:25 -0000 1.63 --- roadmap_trip.c 2 Oct 2006 18:00:52 -0000 1.64 *************** *** 1506,1510 **** * when there isn't a route too. saves key bindings. */ ! roadmap_trip_set_focus ("GPS"); return; } --- 1506,1513 ---- * when there isn't a route too. saves key bindings. */ ! if (RoadMapTripGps->has_value) { ! roadmap_trip_set_point_focus (RoadMapTripGps); ! roadmap_screen_refresh (); ! } return; } |
From: Paul F. <pg...@us...> - 2006-10-02 15:27:35
|
Update of /cvsroot/roadmap/roadmap/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv18307 Modified Files: roadmap_features.c Log Message: fix comment Index: roadmap_features.c =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/roadmap_features.c,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** roadmap_features.c 2 Oct 2006 14:48:39 -0000 1.1 --- roadmap_features.c 2 Oct 2006 15:27:31 -0000 1.2 *************** *** 102,106 **** /* the configuration for "features" files is a comma-separated path. * each comma-separated path element is itself a semi-colon separated ! * sequence of filename, spritename, sprite color, and zoom level * at which label should no longer be printed. here's an example -- * the line is broken for clarity. --- 102,106 ---- /* the configuration for "features" files is a comma-separated path. * each comma-separated path element is itself a semi-colon separated ! * sequence of filename, spritename, label color, and zoom level * at which label should no longer be printed. here's an example -- * the line is broken for clarity. |
From: Paul F. <pg...@us...> - 2006-10-02 14:58:14
|
Update of /cvsroot/roadmap/roadmap/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv9471 Modified Files: roadmap_track.c Log Message: remove reference to icon_descr (was superfluous anyway). also, whitespace fixes. Index: roadmap_track.c =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/roadmap_track.c,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** roadmap_track.c 17 Jul 2006 20:57:21 -0000 1.9 --- roadmap_track.c 2 Oct 2006 14:58:12 -0000 1.10 *************** *** 70,76 **** w = waypt_new (); - w->shortname = NULL; - w->icon_descr = NULL; - w->pos.latitude = gps_position->latitude; w->pos.longitude = gps_position->longitude; --- 70,73 ---- *************** *** 189,193 **** * Drop point B if dist(A,B)+dist(B,C) is approximately * equal to dist (A,C). ! */ bc_dist = roadmap_math_distance (&pos[1], &pos[2]); ac_dist = roadmap_math_distance (&pos[0], &pos[2]); --- 186,190 ---- * Drop point B if dist(A,B)+dist(B,C) is approximately * equal to dist (A,C). ! */ bc_dist = roadmap_math_distance (&pos[1], &pos[2]); ac_dist = roadmap_math_distance (&pos[0], &pos[2]); *************** *** 223,228 **** */ if (roadmap_math_point_is_visible (&waypointp->pos) && ! (RoadMapTrackGpsPosition.latitude != waypointp->pos.latitude || ! RoadMapTrackGpsPosition.longitude != waypointp->pos.longitude) ) { roadmap_math_coordinate (&waypointp->pos, &guipoint); --- 220,225 ---- */ if (roadmap_math_point_is_visible (&waypointp->pos) && ! (RoadMapTrackGpsPosition.latitude != waypointp->pos.latitude || ! RoadMapTrackGpsPosition.longitude != waypointp->pos.longitude) ) { roadmap_math_coordinate (&waypointp->pos, &guipoint); |
From: Paul F. <pg...@us...> - 2006-10-02 14:56:47
|
Update of /cvsroot/roadmap/roadmap/src/unix In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv8677/unix Modified Files: roadmap_path.c Log Message: change the path_list routines to support comma-separated paths of things which might not be files. this makes the lists more generally useful. also allow for paths that have no default value. (these changes are to support roadmap_features.c, which uses a file path that includes config data with each filename.) Index: roadmap_path.c =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/unix/roadmap_path.c,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** roadmap_path.c 3 Jan 2006 04:12:06 -0000 1.20 --- roadmap_path.c 2 Oct 2006 14:56:44 -0000 1.21 *************** *** 135,139 **** RoadMapPathList new_path; ! for (count = 0; items[count] != NULL; ++count) ; new_path = malloc (sizeof(struct RoadMapPathRecord)); --- 135,139 ---- RoadMapPathList new_path; ! for (count = 0; items && items[count] != NULL; ++count) ; new_path = malloc (sizeof(struct RoadMapPathRecord)); *************** *** 143,154 **** new_path->name = strdup(name); new_path->count = (int)count; ! new_path->items = calloc (count, sizeof(char *)); ! roadmap_check_allocated(new_path->items); ! for (i = 0; i < count; ++i) { ! new_path->items[i] = roadmap_path_expand (items[i], strlen(items[i])); } - new_path->preferred = roadmap_path_expand (preferred, strlen(preferred)); RoadMapPaths = new_path; --- 143,160 ---- new_path->name = strdup(name); new_path->count = (int)count; + new_path->items = NULL; + new_path->preferred = NULL; ! if (count) { ! new_path->items = calloc (count, sizeof(char *)); ! roadmap_check_allocated(new_path->items); ! for (i = 0; i < count; ++i) { ! new_path->items[i] = roadmap_path_expand (items[i], strlen(items[i])); ! } ! } ! if (preferred) { ! new_path->preferred = roadmap_path_expand (preferred, strlen(preferred)); } RoadMapPaths = new_path; *************** *** 171,174 **** --- 177,182 ---- roadmap_path_list_create ("maps", RoadMapPathMaps, RoadMapPathMapsPreferred); + + roadmap_path_list_create ("features", NULL, NULL); } *************** *** 307,312 **** switch (item[0]) { ! case '~': expansion = roadmap_path_home(); item += 1; break; ! case '&': expansion = roadmap_path_user(); item += 1; break; default: expansion = ""; } --- 315,320 ---- switch (item[0]) { ! case '~': expansion = roadmap_path_home(); item += 1; length -= 1; break; ! case '&': expansion = roadmap_path_user(); item += 1; length -= 1; break; default: expansion = ""; } *************** *** 359,363 **** count = 0; ! for (item = path-1; item != NULL; item = strchr (item+1, ',')) { count += 1; } --- 367,377 ---- count = 0; ! item = path; ! while (item != NULL) { ! item = strchr(item, ','); ! if (item) { ! item++; ! if (!*item) item = NULL; ! } count += 1; } *************** *** 368,376 **** /* Extract and expand each item of the path. - * Ignore directories that do not exist yet. */ ! for (i = 0, item = path-1; item != NULL; item = next_item) { - item += 1; next_item = strchr (item, ','); --- 382,388 ---- /* Extract and expand each item of the path. */ ! for (i = 0, item = path; item != NULL; item = next_item) { next_item = strchr (item, ','); *************** *** 382,390 **** } ! if (roadmap_file_exists(NULL, path_list->items[i])) { ! ++i; ! } else { ! free (path_list->items[i]); ! path_list->items[i] = NULL; } } --- 394,402 ---- } ! ++i; ! ! if (next_item) { ! next_item++; ! if (!*next_item) next_item = NULL; } } |
From: Paul F. <pg...@us...> - 2006-10-02 14:56:47
|
Update of /cvsroot/roadmap/roadmap/src/win32 In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv8677/win32 Modified Files: roadmap_path.c Log Message: change the path_list routines to support comma-separated paths of things which might not be files. this makes the lists more generally useful. also allow for paths that have no default value. (these changes are to support roadmap_features.c, which uses a file path that includes config data with each filename.) Index: roadmap_path.c =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/win32/roadmap_path.c,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** roadmap_path.c 3 Jan 2006 04:12:28 -0000 1.6 --- roadmap_path.c 2 Oct 2006 14:56:44 -0000 1.7 *************** *** 82,86 **** RoadMapPathList new_path; ! for (count = 0; items[count] != NULL; ++count) ; new_path = malloc (sizeof(struct RoadMapPathRecord)); --- 82,86 ---- RoadMapPathList new_path; ! for (count = 0; items && items[count] != NULL; ++count) ; new_path = malloc (sizeof(struct RoadMapPathRecord)); *************** *** 90,101 **** new_path->name = strdup(name); new_path->count = count; ! new_path->items = calloc (count, sizeof(char *)); ! roadmap_check_allocated(new_path->items); ! for (i = 0; i < count; ++i) { ! new_path->items[i] = strdup(items[i]); } - new_path->preferred = strdup(preferred); RoadMapPaths = new_path; --- 90,107 ---- new_path->name = strdup(name); new_path->count = count; + new_path->items = NULL; + new_path->preferred = NULL; ! if (count) { ! new_path->items = calloc (count, sizeof(char *)); ! roadmap_check_allocated(new_path->items); ! for (i = 0; i < count; ++i) { ! new_path->items[i] = strdup(items[i]); ! } ! } ! if (preferred) { ! new_path->preferred = strdup(preferred); } RoadMapPaths = new_path; *************** *** 114,117 **** --- 120,125 ---- RoadMapPathMapsPreferred); roadmap_path_list_create ("user", RoadMapPathUser, "\\"); + + roadmap_path_list_create ("features", NULL, NULL); } *************** *** 267,271 **** count = 0; ! for (item = path-1; item != NULL; item = strchr (item+1, ',')) { count += 1; } --- 275,284 ---- count = 0; ! while (item != NULL) { ! item = strchr(item, ','); ! if (item) { ! item++; ! if (!*item) item = NULL; ! } count += 1; } *************** *** 276,284 **** /* Extract and expand each item of the path. - * Ignore directories that do not exist yet. */ ! for (i = 0, item = path-1; item != NULL; item = next_item) { - item += 1; next_item = strchr (item, ','); --- 289,295 ---- /* Extract and expand each item of the path. */ ! for (i = 0, item = path; item != NULL; item = next_item) { next_item = strchr (item, ','); *************** *** 300,308 **** (path_list->items[i])[length+expand_length] = 0; ! if (roadmap_file_exists(NULL, path_list->items[i])) { ! ++i; ! } else { ! free (path_list->items[i]); ! path_list->items[i] = NULL; } } --- 311,319 ---- (path_list->items[i])[length+expand_length] = 0; ! ++i; ! ! if (next_item) { ! next_item++; ! if (!*next_item) next_item = NULL; } } |
From: Paul F. <pg...@us...> - 2006-10-02 14:55:39
|
Update of /cvsroot/roadmap/roadmap/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv8267 Modified Files: roadmap_screen.c Log Message: add display of "features". also some indentation fixes. Index: roadmap_screen.c =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/roadmap_screen.c,v retrieving revision 1.72 retrieving revision 1.73 diff -C2 -d -r1.72 -r1.73 *** roadmap_screen.c 22 Aug 2006 21:31:37 -0000 1.72 --- roadmap_screen.c 2 Oct 2006 14:55:35 -0000 1.73 *************** *** 52,55 **** --- 52,56 ---- #include "roadmap_track.h" #include "roadmap_landmark.h" + #include "roadmap_features.h" #include "roadmap_canvas.h" #include "roadmap_state.h" *************** *** 1042,1046 **** if (!RoadMapScreenDragging || ! roadmap_config_match(&RoadMapConfigStyleObjects, "yes")) { roadmap_object_iterate (roadmap_screen_draw_object); --- 1043,1047 ---- if (!RoadMapScreenDragging || ! roadmap_config_match(&RoadMapConfigStyleObjects, "yes")) { roadmap_object_iterate (roadmap_screen_draw_object); *************** *** 1053,1056 **** --- 1054,1058 ---- roadmap_landmark_display (); + roadmap_features_display (); roadmap_trip_display (); roadmap_track_display (); *************** *** 1076,1080 **** RoadMapScreenOrientationDynamic = ! roadmap_config_match(&RoadMapConfigMapDynamicOrientation, "on"); roadmap_math_set_size (RoadMapScreenWidth, RoadMapScreenHeight); --- 1078,1082 ---- RoadMapScreenOrientationDynamic = ! roadmap_config_match(&RoadMapConfigMapDynamicOrientation, "on"); roadmap_math_set_size (RoadMapScreenWidth, RoadMapScreenHeight); *************** *** 1370,1374 **** #define FRACMOVE 4 ! // #define FRACMOVE 100 // tiny moves: useful for debug void roadmap_screen_move_up (void) { --- 1372,1376 ---- #define FRACMOVE 4 ! // #define FRACMOVE 100 // tiny moves: useful for debug void roadmap_screen_move_up (void) { |
From: Paul F. <pg...@us...> - 2006-10-02 14:53:59
|
Update of /cvsroot/roadmap/roadmap/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv7784 Modified Files: roadmap_start.c Log Message: new getgoogleroute command (ifdefed off by default) bind "resumeroute" to the Enter key by default. (keyboard bindings should be made user-configurable.) add initialization for "features". Index: roadmap_start.c =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/roadmap_start.c,v retrieving revision 1.103 retrieving revision 1.104 diff -C2 -d -r1.103 -r1.104 *** roadmap_start.c 27 Sep 2006 09:25:36 -0000 1.103 --- roadmap_start.c 2 Oct 2006 14:53:55 -0000 1.104 *************** *** 60,64 **** #include "roadmap_track.h" #include "roadmap_landmark.h" ! // #include "roadmap_features.h" #include "roadmap_adjust.h" #include "roadmap_screen.h" --- 60,64 ---- #include "roadmap_track.h" #include "roadmap_landmark.h" ! #include "roadmap_features.h" #include "roadmap_adjust.h" #include "roadmap_screen.h" *************** *** 497,500 **** --- 497,506 ---- roadmap_start_create_route}, + #if WGET_GOOGLE_ROUTE + {"getgoogleroute", "Fetch route from google", NULL, NULL, + "Fetch google route for current route's start/dest", + roadmap_trip_replace_with_google_route}, + #endif + {"setasdestination", "Goto selection", NULL, NULL, "Show distance and direction to the last selected street or place", *************** *** 638,641 **** --- 644,648 ---- "setasdestination", "allroutetoggle", + "getgoogleroute", ROADMAP_MENU "Places", *************** *** 709,712 **** --- 716,721 ---- "Button-Down" ROADMAP_MAPPED_TO "down", + "Enter" ROADMAP_MAPPED_TO "resumeroute", + /* These binding are for the iPAQ buttons: */ "Button-Menu" ROADMAP_MAPPED_TO "zoom1", *************** *** 1012,1016 **** roadmap_track_initialize (); roadmap_landmark_initialize (); ! // roadmap_features_initialize (); roadmap_pointer_initialize (); roadmap_screen_initialize (); --- 1021,1025 ---- roadmap_track_initialize (); roadmap_landmark_initialize (); ! roadmap_features_initialize (); roadmap_pointer_initialize (); roadmap_screen_initialize (); *************** *** 1061,1065 **** roadmap_track_autoload (); roadmap_landmark_load (); ! // roadmap_features_load (); #endif --- 1070,1074 ---- roadmap_track_autoload (); roadmap_landmark_load (); ! roadmap_features_load (); #endif |
From: Paul F. <pg...@us...> - 2006-10-02 14:53:32
|
Update of /cvsroot/roadmap/roadmap/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv7254 Modified Files: roadmap_trip.c roadmap_trip.h Log Message: remove references to waypoint's icon_desc field, and use new calling convention when drawing trip landmarks. also added "for fun" command routine which, on a unix machine with wget and a recent version of gpsbabel, will allow querying google for driving directions between two roadmap points. (ifdefed off by default, since it most certainly won't work, and probably won't build, on win32.) Index: roadmap_trip.c =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/roadmap_trip.c,v retrieving revision 1.62 retrieving revision 1.63 diff -C2 -d -r1.62 -r1.63 *** roadmap_trip.c 27 Sep 2006 10:21:49 -0000 1.62 --- roadmap_trip.c 2 Oct 2006 14:53:25 -0000 1.63 *************** *** 999,1007 **** --- 999,1013 ---- waypoint * roadmap_trip_new_waypoint + #if USE_ICON_NAME (const char *name, RoadMapPosition * position, const char *sprite) { + #else + (const char *name, RoadMapPosition * position) { + #endif waypoint *w; w = waypt_new (); if (name) w->shortname = xstrdup (name); + #if USE_ICON_NAME if (sprite) w->icon_descr = xstrdup(sprite); + #endif w->pos = *position; w->creation_time = time(NULL); *************** *** 1107,1111 **** return roadmap_trip_new_waypoint ! (name, &RoadMapTripLastSetPoint->map, NULL); } --- 1113,1117 ---- return roadmap_trip_new_waypoint ! (name, &RoadMapTripLastSetPoint->map); } *************** *** 1174,1178 **** } ! waypointp = roadmap_trip_new_waypoint (name, position, NULL); switch (where) { case PLACE_ROUTE_MARK_START: --- 1180,1184 ---- } ! waypointp = roadmap_trip_new_waypoint (name, position); switch (where) { case PLACE_ROUTE_MARK_START: *************** *** 1496,1499 **** --- 1502,1510 ---- if (RoadMapCurrentRoute == NULL) { + /* convenient side effect. if there _is_ a route, the code + * below forces GPS to be centered. so may as well do that + * when there isn't a route too. saves key bindings. + */ + roadmap_trip_set_focus ("GPS"); return; } *************** *** 1734,1738 **** static void roadmap_trip_standalone_waypoint_draw(const waypoint *waypointp) { ! roadmap_landmark_draw_waypoint (waypointp, "TripLandmark"); } --- 1745,1750 ---- static void roadmap_trip_standalone_waypoint_draw(const waypoint *waypointp) { ! roadmap_landmark_draw_waypoint ! (waypointp, "TripLandmark", 0, RoadMapLandmarksPen); } *************** *** 2357,2358 **** --- 2369,2411 ---- } + + #if WGET_GOOGLE_ROUTE + /* for fun -- should be cleaned up. given a route with just + * start and a dest, query google for the driving directions + * between those endpoints, and populate a new route with the + * result. */ + void roadmap_trip_replace_with_google_route(void) { + + + char cmdbuf[256]; + int ret; + + if ( RoadMapCurrentRoute == NULL || + RoadMapCurrentRoute->rte_waypt_ct != 2 ) { + return; + } + + #define FLT_FMT "%0.6lf" + #define to_float(x) ((double)((x) / 1000000.0)) + + snprintf(cmdbuf, sizeof(cmdbuf), + "wget -O - 'http://maps.google.com/maps?q=" FLT_FMT "," FLT_FMT + " to " FLT_FMT "," FLT_FMT "&output=js' 2>/dev/null |" + "gpsbabel -r -i google -f - " + "-x simplify,error=0.05 -o gpx " + "-F %s/getroute.gpx", + RoadMapTripStart->pos.latitude / 1000000.0, + RoadMapTripStart->pos.longitude / 1000000.0, + RoadMapTripDest->pos.latitude / 1000000.0, + RoadMapTripDest->pos.longitude / 1000000.0, + roadmap_path_trips ()); + + ret = system(cmdbuf); + + if (ret < 0) + return; + + roadmap_trip_load_file ("getroute.gpx", 0, 1); + + } + #endif Index: roadmap_trip.h =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/roadmap_trip.h,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** roadmap_trip.h 27 Sep 2006 09:25:36 -0000 1.25 --- roadmap_trip.h 2 Oct 2006 14:53:25 -0000 1.26 *************** *** 93,96 **** --- 93,100 ---- void roadmap_trip_insert_routepoint_best(void); + #if WGET_GOOGLE_ROUTE + void roadmap_trip_replace_with_google_route(void); + #endif + #endif // INCLUDE__ROADMAP_TRIP__H |
From: Paul F. <pg...@us...> - 2006-10-02 14:50:24
|
Update of /cvsroot/roadmap/roadmap/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv6384 Modified Files: roadmap_landmark.c roadmap_landmark.h Log Message: make roadmap_landmark_draw_waypoint() more flexible as to what sprite and what pen are used. Index: roadmap_landmark.c =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/roadmap_landmark.c,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** roadmap_landmark.c 13 Aug 2006 15:24:17 -0000 1.7 --- roadmap_landmark.c 2 Oct 2006 14:50:21 -0000 1.8 *************** *** 38,42 **** static int RoadMapLandmarkModified; static int RoadMapLandmarkRefresh; ! static RoadMapPen RoadMapLandMarksPen; static RoadMapConfigDescriptor RoadMapConfigLandmarkName = --- 38,42 ---- static int RoadMapLandmarkModified; static int RoadMapLandmarkRefresh; ! RoadMapPen RoadMapLandmarksPen; static RoadMapConfigDescriptor RoadMapConfigLandmarkName = *************** *** 51,77 **** void roadmap_landmark_draw_waypoint ! (const waypoint *waypointp, const char *sprite) { RoadMapGuiPoint guipoint; ! if (waypointp->icon_descr) { sprite = waypointp->icon_descr; } ! if (roadmap_math_point_is_visible (&waypointp->pos)) { ! roadmap_math_coordinate (&waypointp->pos, &guipoint); ! roadmap_math_rotate_coordinates (1, &guipoint); roadmap_sprite_draw (sprite, &guipoint, 0); ! roadmap_canvas_select_pen (RoadMapLandMarksPen); ! guipoint.y += 15; /* space for sprite */ /* FIXME -- We should do label collision detection, which * means joining in the fun in roadmap_label_add() and * roadmap_label_draw_cache(). Landmark labels should ! * probably take priority, and be positioned first. They ! * should probably be drawn last, however, so that their ! * labels come out on "top" of other map features. */ roadmap_label_draw_text(waypointp->shortname, --- 51,89 ---- void roadmap_landmark_draw_waypoint ! (const waypoint *waypointp, ! const char *sprite, int override_sprite, RoadMapPen pen) { RoadMapGuiPoint guipoint; ! if (!roadmap_math_point_is_visible (&waypointp->pos)) ! return; ! ! #if USE_ICON_NAME ! if ( !override_sprite && waypointp->icon_descr) { sprite = waypointp->icon_descr; } + #endif ! if (!sprite && !pen) ! return; /* unlikely */ ! roadmap_math_coordinate (&waypointp->pos, &guipoint); ! roadmap_math_rotate_coordinates (1, &guipoint); ! ! if (sprite) { roadmap_sprite_draw (sprite, &guipoint, 0); + } ! if (pen) { ! roadmap_canvas_select_pen (pen); ! if (sprite) ! guipoint.y += 15; /* space for sprite */ /* FIXME -- We should do label collision detection, which * means joining in the fun in roadmap_label_add() and * roadmap_label_draw_cache(). Landmark labels should ! * probably take priority, and be positioned first. They ! * should probably be drawn last, however, so that their ! * labels come out on "top" of other map features. */ roadmap_label_draw_text(waypointp->shortname, *************** *** 81,85 **** static void roadmap_landmark_draw(const waypoint *waypointp) { ! roadmap_landmark_draw_waypoint(waypointp, "PersonalLandmark"); } --- 93,98 ---- static void roadmap_landmark_draw(const waypoint *waypointp) { ! roadmap_landmark_draw_waypoint ! (waypointp, "PersonalLandmark", 0, RoadMapLandmarksPen); } *************** *** 221,225 **** int defaulted, ret; ! RoadMapLandMarksPen = roadmap_canvas_create_pen ("landmarks.labels"); roadmap_canvas_set_foreground (roadmap_config_get (&RoadMapConfigLandmarksColor)); --- 234,238 ---- int defaulted, ret; ! RoadMapLandmarksPen = roadmap_canvas_create_pen ("landmarks.labels"); roadmap_canvas_set_foreground (roadmap_config_get (&RoadMapConfigLandmarksColor)); Index: roadmap_landmark.h =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/roadmap_landmark.h,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** roadmap_landmark.h 13 Aug 2006 15:24:17 -0000 1.4 --- roadmap_landmark.h 2 Oct 2006 14:50:21 -0000 1.5 *************** *** 36,40 **** int roadmap_landmark_is_refresh_needed (void); void roadmap_landmark_draw_waypoint ! (const waypoint *waypointp, const char *sprite); #endif // INCLUDE__ROADMAP_LANDMARK__H --- 36,43 ---- int roadmap_landmark_is_refresh_needed (void); void roadmap_landmark_draw_waypoint ! (const waypoint *waypointp, const char *sprite, ! int override_sprite, RoadMapPen pen); ! ! RoadMapPen RoadMapLandmarksPen; #endif // INCLUDE__ROADMAP_LANDMARK__H |
From: Paul F. <pg...@us...> - 2006-10-02 14:49:14
|
Update of /cvsroot/roadmap/roadmap/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv5628 Modified Files: Makefile Log Message: build roadmap_features.o Index: Makefile =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/Makefile,v retrieving revision 1.83 retrieving revision 1.84 diff -C2 -d -r1.83 -r1.84 *** Makefile 4 Aug 2006 13:03:40 -0000 1.83 --- Makefile 2 Oct 2006 14:49:08 -0000 1.84 *************** *** 55,58 **** --- 55,59 ---- roadmap_track.c \ roadmap_landmark.c \ + roadmap_features.c \ roadmap_layer.c \ roadmap_fuzzy.c \ |
From: Paul F. <pg...@us...> - 2006-10-02 14:48:43
|
Update of /cvsroot/roadmap/roadmap/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv5519 Added Files: roadmap_features.c roadmap_features.h Log Message: support for read-only point-of-interest files. --- NEW FILE: roadmap_features.c --- /* roadmap_features.c - GPX-based points of interest * * LICENSE: * * Copyright 2006 Paul G. Fox * * This file is part of RoadMap. * * RoadMap is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * RoadMap is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with RoadMap; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include "roadmap.h" #include "roadmap_types.h" #include "roadmap_config.h" #include "roadmap_fileselection.h" #include "roadmap_gps.h" #include "roadmap_math.h" #include "roadmap_screen.h" #include "roadmap_sprite.h" #include "roadmap_path.h" #include "roadmap_gpx.h" #include "roadmap_features.h" #include "roadmap_label.h" #include "roadmap_landmark.h" #define MAX_FEATUREFILES 10 /* max number of feature/point-of-interest files */ static struct { RoadMapList head; RoadMapPen pen; char * sprite; int declutter; RoadMapArea area; } RoadMapFeatureLists[MAX_FEATUREFILES], *RoadMapFeatureList; static RoadMapConfigDescriptor RoadMapConfigFeatureFiles = ROADMAP_CONFIG_ITEM ("FeatureFiles", "Path"); static void roadmap_features_draw(const waypoint *w) { if (roadmap_math_declutter(RoadMapFeatureList->declutter)) { roadmap_landmark_draw_waypoint (w, RoadMapFeatureList->sprite, 1, RoadMapFeatureList->pen); } else { /* above a certain zoom level, turn off labels, and draw only * the sprite. if there was normally no sprite, provide one. */ roadmap_landmark_draw_waypoint (w, RoadMapFeatureList->sprite ? RoadMapFeatureList->sprite : "PointOfInterest", 1, NULL); } } static void roadmap_features_find_bounds(const waypoint *w) { if (w->pos.longitude > RoadMapFeatureList->area.east) RoadMapFeatureList->area.east = w->pos.longitude; if (w->pos.longitude < RoadMapFeatureList->area.west) RoadMapFeatureList->area.west = w->pos.longitude; if (w->pos.latitude > RoadMapFeatureList->area.north) RoadMapFeatureList->area.north = w->pos.latitude; if (w->pos.latitude < RoadMapFeatureList->area.south) RoadMapFeatureList->area.south = w->pos.latitude; } void roadmap_features_display (void) { for (RoadMapFeatureList = RoadMapFeatureLists; ROADMAP_LIST_FIRST(&RoadMapFeatureList->head) != NULL; RoadMapFeatureList++) { if (roadmap_math_is_visible (&RoadMapFeatureList->area)) waypt_iterator (&RoadMapFeatureList->head, roadmap_features_draw); } } void roadmap_features_load(void) { char *name, *semi; RoadMapList tmp_waypoint_list; int ret; char pen_name[256]; char *color, *sprite, *declutter; const char *p; /* the configuration for "features" files is a comma-separated path. * each comma-separated path element is itself a semi-colon separated * sequence of filename, spritename, sprite color, and zoom level * at which label should no longer be printed. here's an example -- * the line is broken for clarity. * * FeatureFiles.Path: &/vt_places.gpx;PointOfInterest;darkblue;550,\ * &/ca.place.gpx;PointOfInterest;blue;1300 */ p = roadmap_config_get(&RoadMapConfigFeatureFiles); if (!*p) return; roadmap_path_set("features", p); ROADMAP_LIST_INIT(&tmp_waypoint_list); RoadMapFeatureList = RoadMapFeatureLists; /* override const -- we know it's okay to tamper, since we * know the data is malloced */ for (name = (char *)roadmap_path_first("features"); name != NULL; name = (char *)roadmap_path_next("features", name)) { semi = strchr(name, ';'); if (semi == name) continue; /* null filename */ if (semi) *semi = '\0'; if ( ! roadmap_file_exists (NULL, name) ) { roadmap_log (ROADMAP_WARNING, "Features file %s missing", name); if (semi) *semi++ = ';'; continue; } ret = roadmap_gpx_read_waypoints(NULL, name, &tmp_waypoint_list); if (semi) *semi++ = ';'; if (ret == 0) { waypt_flush_queue (&tmp_waypoint_list); continue; } ROADMAP_LIST_INIT(&RoadMapFeatureList->head); ROADMAP_LIST_MOVE (&RoadMapFeatureList->head, &tmp_waypoint_list); /* default sprite and label pen */ RoadMapFeatureList->sprite = "PointOfInterest"; RoadMapFeatureList->pen = RoadMapLandmarksPen; RoadMapFeatureList->declutter = 550; if (semi && *semi) { /* sprite info */ sprite = semi; semi = strchr(sprite, ';'); if (semi) *semi = '\0'; if (*sprite) { if (strcmp(sprite,"NONE") != 0) RoadMapFeatureList->sprite = strdup(sprite); else RoadMapFeatureList->sprite = NULL; } if (semi) *semi++ = ';'; if (semi && *semi) { /* color info */ color = semi; semi = strchr(color, ';'); if (semi) *semi = '\0'; if (*color) { if (strcmp(color, "NONE") != 0) { sprintf(pen_name, "features.%d", RoadMapFeatureList - RoadMapFeatureLists ); RoadMapFeatureList->pen = roadmap_canvas_create_pen (pen_name); roadmap_canvas_set_foreground(color); roadmap_canvas_set_thickness (2); } else { RoadMapFeatureList->pen = NULL; } } if (semi) *semi++ = ';'; if (semi && *semi) { /* declutter info */ declutter = semi; semi = strchr(declutter, ';'); if (semi) *semi = '\0'; if (*declutter) { int de; de = atoi(declutter); if (de != 0) { RoadMapFeatureList->declutter = de; } } if (semi) *semi++ = ';'; } } } RoadMapFeatureList++; if (RoadMapFeatureList - RoadMapFeatureLists > MAX_FEATUREFILES - 1) break; } for (RoadMapFeatureList = RoadMapFeatureLists; ROADMAP_LIST_FIRST(&RoadMapFeatureList->head) != NULL; RoadMapFeatureList++) { RoadMapFeatureList->area.west = 181 * 1000000; RoadMapFeatureList->area.east = -181 * 1000000; RoadMapFeatureList->area.north = -91 * 1000000; RoadMapFeatureList->area.south = 91 * 1000000; waypt_iterator (&RoadMapFeatureList->head, roadmap_features_find_bounds); } } void roadmap_features_initialize(void) { roadmap_config_declare ("preferences", &RoadMapConfigFeatureFiles, ""); } --- NEW FILE: roadmap_features.h --- /* roadmap_features.h - GPX-based points of interest * * LICENSE: * * Copyright 2006 Paul G. Fox * * This file is part of RoadMap. * * RoadMap is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * RoadMap is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with RoadMap; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef INCLUDE__ROADMAP_FEATURES__H #define INCLUDE__ROADMAP_FEATURES__H void roadmap_features_display (void); void roadmap_features_initialize (void); void roadmap_features_load (void); #endif // INCLUDE__ROADMAP_FEATURES__H |
From: Paul F. <pg...@us...> - 2006-10-02 14:21:10
|
Update of /cvsroot/roadmap/roadmap/src/gpx In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv25475/gpx Modified Files: defs.h gpx.c mkshort.c waypt.c Log Message: roadmap doesn't use or need much of the contents of the gpsbabel waypoint structure. this commit ifdefs out most of these unused fields, which cuts the size of a typical waypoint by more than half -- from 128 bytes down to about 60. code is already in place to preserve (i.e. read, store, and recreate when writing) any xml fields in the gpx waypoint which aren't understood by the gpx parser -- so ifdefing the fields we don't use from the parser guarantees that gpx files created by foreign sources won't lose data if they're loaded and then saved by roadmap. (those foreign fields may well take _more_ space than they would have without these changes -- but most waypoints created and used by roadmap will be much smaller.) Index: defs.h =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/gpx/defs.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** defs.h 17 Jul 2006 20:57:21 -0000 1.2 --- defs.h 2 Oct 2006 14:20:20 -0000 1.3 *************** *** 57,60 **** --- 57,64 ---- #endif + /* Short or Long XML Times */ + #define XML_SHORT_TIME 1 + #define XML_LONG_TIME 2 + /* * Common definitions. There should be no protocol or file-specific *************** *** 62,65 **** --- 66,70 ---- */ + #if ROADMAP_UNNEEDED typedef enum { fix_unknown=-1, *************** *** 71,79 **** } fix_type; - - /* Short or Long XML Times */ - #define XML_SHORT_TIME 1 - #define XML_LONG_TIME 2 - /* * Extended data if waypoint happens to represent a geocache. This is --- 76,79 ---- *************** *** 124,127 **** --- 124,128 ---- utf_string desc_long; } geocache_data ; + #endif // ROADMAP_UNNEEDED typedef struct xml_tag { *************** *** 170,174 **** */ typedef struct { - unsigned int icon_descr_is_dynamic:1; unsigned int shortname_is_synthetic:1; } wp_flags; --- 171,174 ---- *************** *** 194,198 **** queue Q; /* Master waypoint q. Not for use by modules. */ - /* * RoadMap's representation of lat/long position. --- 194,197 ---- *************** *** 200,220 **** RoadMapPosition pos; - double altitude; /* Meters. */ - - #if NEEDED - /* - * The "thickness" of a waypoint; adds an element of 3D. Can be - * used to construct rudimentary polygons for, say, airspace - * definitions. The units are meters. - */ - double depth; - - /* - * An alarm trigger value that can be considered to be a circle - * surrounding a waypoint (or cylinder if depth is also defined). - * The units are meters. - */ - double proximity; - #endif /* shortname is a waypoint name as stored in receiver. It should --- 199,202 ---- *************** *** 224,262 **** * 8 for Magellan and 10 for Vista. These are only guidelines. */ ! char *shortname; /* * description is typically a human readable description of the * waypoint. It may be used as a comment field in some receivers. * These are probably under 40 bytes, but that's only a guideline. */ char *description; /* * notes are relatively long - over 100 characters - prose associated * with the above. Unlike shortname and description, these are never * used to compute anything else and are strictly "passed through". ! * Few formats support this. */ char *notes; - char *url; - char *url_link_text; ! wp_flags wpt_flags; const char *icon_descr; ! time_t creation_time; /* standardized in UTC/GMT */ ! #if NEEDED ! int centiseconds; /* Optional hundredths of a second. */ ! ! /* ! * route priority is for use by the simplify filter. If we have ! * some reason to believe that the route point is more important, ! * we can give it a higher (numerically; 0 is the lowest) priority. ! * This causes it to be removed last. ! * This is currently used by the saroute input filter to give named ! * waypoints (representing turns) a higher priority. ! * This is also used by the google input filter because they were ! * nice enough to use exactly the same priority scheme. ! */ ! int route_priority; ! #endif /* Optional dilution of precision: positional, horizontal, veritcal. --- 206,245 ---- * 8 for Magellan and 10 for Vista. These are only guidelines. */ ! char *shortname; ! ! time_t creation_time; /* standardized in UTC/GMT */ ! ! wp_flags wpt_flags; ! ! /* track information -- these three are usually only present ! * for data gathered "on the go". ! */ ! double altitude; /* Meters. */ ! float speed; /* Optional: meters per second. */ ! float course; /* Optional: degrees true */ ! /* * description is typically a human readable description of the * waypoint. It may be used as a comment field in some receivers. * These are probably under 40 bytes, but that's only a guideline. + * This text comes from the GPX <cmt> tag, and may be sent to + * the GPS unit. */ char *description; + /* * notes are relatively long - over 100 characters - prose associated * with the above. Unlike shortname and description, these are never * used to compute anything else and are strictly "passed through". ! * This text comes from the GPX <desc> tag, and is strictly for ! * the user. RoadMap currently doesn't use this. */ char *notes; ! #if ROADMAP_UNNEEDED const char *icon_descr; ! ! char *url; ! char *url_link_text; /* Optional dilution of precision: positional, horizontal, veritcal. *************** *** 266,282 **** float vdop; float pdop; ! float course; /* Optional: degrees true */ ! float speed; /* Optional: meters per second. */ fix_type fix; /* Optional: 3d, 2d, etc. */ int sat; /* Optional: number of sats used for fix */ - #if NEEDED - int heartrate; /* Beats per minute: likely to get moved to fs. */ - #endif geocache_data gc_data; - format_specific_data *fs; - #if NEEDED - void *extra_data; /* Extra data added by, say, a filter. */ #endif } waypoint; --- 249,260 ---- float vdop; float pdop; ! fix_type fix; /* Optional: 3d, 2d, etc. */ int sat; /* Optional: number of sats used for fix */ geocache_data gc_data; #endif + + format_specific_data *fs; } waypoint; Index: mkshort.c =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/gpx/mkshort.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** mkshort.c 17 Jul 2006 20:57:21 -0000 1.2 --- mkshort.c 2 Oct 2006 14:20:20 -0000 1.3 *************** *** 473,476 **** --- 473,477 ---- mkshort_from_wpt(short_handle h, const waypoint *wpt) { + #if ROADMAP_UNNEEDED /* This probably came from a Groundspeak Pocket Query * so use the 'cache name' instead of the description field *************** *** 482,485 **** --- 483,487 ---- return mkshort(h, wpt->notes); } + #endif if (wpt->description) { Index: waypt.c =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/gpx/waypt.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** waypt.c 17 Jul 2006 20:57:21 -0000 1.2 --- waypt.c 2 Oct 2006 14:20:20 -0000 1.3 *************** *** 45,53 **** if (wpt->notes) tmp->notes = xstrdup(wpt->notes); if (wpt->url) tmp->url = xstrdup(wpt->url); if (wpt->url_link_text) tmp->url_link_text = xstrdup(wpt->url_link_text); ! if (wpt->icon_descr && wpt->wpt_flags.icon_descr_is_dynamic) tmp->icon_descr = xstrdup(wpt->icon_descr); if (wpt->gc_data.desc_short.utfstring) { --- 45,54 ---- if (wpt->notes) tmp->notes = xstrdup(wpt->notes); + #if ROADMAP_UNNEEDED if (wpt->url) tmp->url = xstrdup(wpt->url); if (wpt->url_link_text) tmp->url_link_text = xstrdup(wpt->url_link_text); ! if (wpt->icon_descr) tmp->icon_descr = xstrdup(wpt->icon_descr); if (wpt->gc_data.desc_short.utfstring) { *************** *** 65,68 **** --- 66,70 ---- tmp->gc_data.hint = xstrdup(wpt->gc_data.hint); } + #endif /* *************** *** 128,133 **** --- 130,137 ---- wpt->course = -999.0; wpt->speed = -999.0; + #if ROADMAP_UNNEEDED wpt->fix = fix_unknown; wpt->sat = -1; + #endif return wpt; *************** *** 242,245 **** --- 246,250 ---- xfree(wpt->notes); } + #if ROADMAP_UNNEEDED if (wpt->url) { xfree(wpt->url); *************** *** 248,252 **** xfree(wpt->url_link_text); } ! if (wpt->icon_descr && wpt->wpt_flags.icon_descr_is_dynamic) { xfree((char *)(void *)wpt->icon_descr); } --- 253,257 ---- xfree(wpt->url_link_text); } ! if (wpt->icon_descr) { xfree((char *)(void *)wpt->icon_descr); } *************** *** 263,266 **** --- 268,272 ---- xfree (wpt->gc_data.hint); } + #endif fs_chain_destroy( wpt->fs ); xfree(wpt); Index: gpx.c =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/gpx/gpx.c,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** gpx.c 14 Aug 2006 15:56:55 -0000 1.6 --- gpx.c 2 Oct 2006 14:20:20 -0000 1.7 *************** *** 32,36 **** --- 32,38 ---- static xml_tag *cur_tag; static vmem_t cdatastr; + #if ROADMAP_UNNEEDED static char *opt_logpoint = NULL; // "Create waypoints from geocache log entries" + #endif static int logpoint_ct = 0; *************** *** 56,60 **** --- 58,64 ---- static route_head *rte_tmp; + #if ROADMAP_UNNEEDED static int cache_descr_is_html; + #endif static FILE *cb_file; /* shared between gpx_write and callback functions */ /* note: the name "ofd" is used in all *************** *** 72,76 **** --- 76,82 ---- static char *snlen = "32"; // "Length of generated shortnames" static char *suppresswhite = NULL; // "Suppress whitespace in generated shortnames" + #if ROADMAP_UNNEEDED static char *urlbase = NULL; // "Base URL for link tag in output" + #endif static queue_head *cur_waypoint_list; *************** *** 111,122 **** --- 117,133 ---- tt_wpt_desc, tt_wpt_name, + #if ROADMAP_UNNEEDED tt_wpt_sym, tt_wpt_url, + #endif tt_wpt_ele, tt_wpt_time, tt_wpt_type, + #if ROADMAP_UNNEEDED tt_wpt_urlname, tt_wpt_link, /* New in GPX 1.1 */ tt_wpt_link_text, /* New in GPX 1.1 */ + #endif + #if ROADMAP_UNNEEDED tt_pdop, /* PDOPS are common for all three */ tt_hdop, /* PDOPS are common for all three */ *************** *** 124,127 **** --- 135,140 ---- tt_fix, tt_sat, + #endif + #if ROADMAP_UNNEEDED tt_cache, tt_cache_name, *************** *** 137,140 **** --- 150,154 ---- tt_cache_log_date, tt_cache_placer, + #endif tt_rte, tt_rte_name, *************** *** 146,154 **** --- 160,172 ---- tt_rte_rtept_name, tt_rte_rtept_desc, + #if ROADMAP_UNNEEDED tt_rte_rtept_sym, + #endif tt_rte_rtept_time, tt_rte_rtept_cmt, + #if ROADMAP_UNNEEDED tt_rte_rtept_url, tt_rte_rtept_urlname, + #endif tt_trk, tt_trk_desc, *************** *** 159,165 **** --- 177,185 ---- tt_trk_trkseg_trkpt_cmt, tt_trk_trkseg_trkpt_name, + #if ROADMAP_UNNEEDED tt_trk_trkseg_trkpt_sym, tt_trk_trkseg_trkpt_url, tt_trk_trkseg_trkpt_urlname, + #endif tt_trk_trkseg_trkpt_desc, tt_trk_trkseg_trkpt_ele, *************** *** 195,198 **** --- 215,219 ---- { tt_wpt_cmt, 0, "/gpx/wpt/cmt" }, { tt_wpt_desc, 0, "/gpx/wpt/desc" }, + #if ROADMAP_UNNEEDED { tt_wpt_url, 0, "/gpx/wpt/url" }, { tt_wpt_urlname, 0, "/gpx/wpt/urlname" }, *************** *** 200,204 **** --- 221,227 ---- { tt_wpt_link_text, 0, "/gpx/wpt/link/text" }, /* GPX 1.1 */ { tt_wpt_sym, 0, "/gpx/wpt/sym" }, + #endif { tt_wpt_type, 1, "/gpx/wpt/type" }, + #if ROADMAP_UNNEEDED { tt_cache, 1, "/gpx/wpt/groundspeak:cache" }, { tt_cache_name, 1, "/gpx/wpt/groundspeak:cache/groundspeak:name" }, *************** *** 214,217 **** --- 237,241 ---- { tt_cache_log_date, 1, "/gpx/wpt/groundspeak:cache/groundspeak:logs/groundspeak:log/groundspeak:date" }, { tt_cache_placer, 1, "/gpx/wpt/groundspeak:cache/groundspeak:owner" }, + #endif { tt_rte, 0, "/gpx/rte" }, *************** *** 225,231 **** --- 249,257 ---- { tt_rte_rtept_cmt, 0, "/gpx/rte/rtept/cmt" }, { tt_rte_rtept_desc, 0, "/gpx/rte/rtept/desc" }, + #if ROADMAP_UNNEEDED { tt_rte_rtept_url, 0, "/gpx/rte/rtept/url" }, { tt_rte_rtept_urlname, 0, "/gpx/rte/rtept/urlname" }, { tt_rte_rtept_sym, 0, "/gpx/rte/rtept/sym" }, + #endif { tt_trk, 0, "/gpx/trk" }, *************** *** 240,249 **** --- 266,278 ---- { tt_trk_trkseg_trkpt_cmt, 0, "/gpx/trk/trkseg/trkpt/cmt" }, { tt_trk_trkseg_trkpt_desc, 0, "/gpx/trk/trkseg/trkpt/desc" }, + #if ROADMAP_UNNEEDED { tt_trk_trkseg_trkpt_url, 0, "/gpx/trk/trkseg/trkpt/url" }, { tt_trk_trkseg_trkpt_urlname, 0, "/gpx/trk/trkseg/trkpt/urlname" }, { tt_trk_trkseg_trkpt_sym, 0, "/gpx/trk/trkseg/trkpt/sym" }, + #endif { tt_trk_trkseg_trkpt_course, 0, "/gpx/trk/trkseg/trkpt/course" }, { tt_trk_trkseg_trkpt_speed, 0, "/gpx/trk/trkseg/trkpt/speed" }, + #if ROADMAP_UNNEEDED /* Common to tracks, routes, and waypts */ { tt_fix, 0, "/gpx/wpt/fix" }, *************** *** 262,265 **** --- 291,295 ---- { tt_vdop, 0, "/gpx/trk/trkseg/trkpt/vdop" }, { tt_vdop, 0, "/gpx/rte/rtept/hdop" }, + #endif { 0, 0, 0 } }; *************** *** 324,327 **** --- 354,358 ---- } + #if ROADMAP_UNNEEDED static void tag_cache_desc(const char ** attrv) *************** *** 351,354 **** --- 382,386 ---- } } + #endif // ROADMAP_UNNEEDED static void *************** *** 428,431 **** --- 460,464 ---- } + #if ROADMAP_UNNEEDED static void tag_log_wpt(const char **attrv) *************** *** 466,469 **** --- 499,503 ---- } } + #endif // ROADMAP_UNNEEDED static void *************** *** 494,497 **** --- 528,532 ---- tag_wpt(attr); break; + #if ROADMAP_UNNEEDED case tt_wpt_link: if (0 == strcmp(attr[0], "href")) { *************** *** 499,502 **** --- 534,538 ---- } break; + #endif case tt_rte: rte_tmp = route_head_alloc(); *************** *** 516,519 **** --- 552,556 ---- start_something_else(el, attr); return; + #if ROADMAP_UNNEEDED case tt_cache: tag_gs_cache(attr); *************** *** 527,530 **** --- 564,568 ---- tag_cache_desc(attr); break; + #endif default: break; *************** *** 535,538 **** --- 573,577 ---- } + #if ROADMAP_UNNEEDED static struct gs_type_mapping{ *************** *** 610,613 **** --- 649,653 ---- return gc_unknown; } + #endif // ROADMAP_UNNEEDED *************** *** 676,683 **** { char *s = strrchr(current_tag.mem, '/'); - float x; char *cdatastrp = cdatastr.mem; int passthrough; static time_t gc_log_date; if (strcmp(s + 1, el)) { --- 716,725 ---- { char *s = strrchr(current_tag.mem, '/'); char *cdatastrp = cdatastr.mem; int passthrough; + #if ROADMAP_UNNEEDED + float x; static time_t gc_log_date; + #endif if (strcmp(s + 1, el)) { *************** *** 706,709 **** --- 748,752 ---- * Waypoint-specific tags. */ + #if ROADMAP_UNNEEDED case tt_wpt_url: wpt_tmp->url = xstrdup(cdatastrp); *************** *** 713,716 **** --- 756,760 ---- wpt_tmp->url_link_text = xstrdup(cdatastrp); break; + #endif // ROADMAP_UNNEEDED case tt_wpt: if (doing_no_waypoints) *************** *** 722,725 **** --- 766,770 ---- wpt_tmp = NULL; break; + #if ROADMAP_UNNEEDED case tt_cache_name: if (wpt_tmp->notes != NULL) xfree(wpt_tmp->notes); *************** *** 778,781 **** --- 823,827 ---- gc_log_date = 0; break; + #endif // ROADMAP_UNNEEDED /* * Route-specific tags. *************** *** 844,853 **** wpt_tmp->shortname = xstrdup(cdatastrp); break; case tt_wpt_sym: case tt_rte_rtept_sym: case tt_trk_trkseg_trkpt_sym: wpt_tmp->icon_descr = xstrdup(cdatastrp); - wpt_tmp->wpt_flags.icon_descr_is_dynamic = 1; break; case tt_wpt_time: case tt_trk_trkseg_trkpt_time: --- 890,900 ---- wpt_tmp->shortname = xstrdup(cdatastrp); break; + #if ROADMAP_UNNEEDED case tt_wpt_sym: case tt_rte_rtept_sym: case tt_trk_trkseg_trkpt_sym: wpt_tmp->icon_descr = xstrdup(cdatastrp); break; + #endif case tt_wpt_time: case tt_trk_trkseg_trkpt_time: *************** *** 866,869 **** --- 913,917 ---- wpt_tmp->notes = xstrdup(cdatastrp); break; + #if ROADMAP_UNNEEDED case tt_pdop: wpt_tmp->pdop = atof(cdatastrp); *************** *** 891,894 **** --- 939,943 ---- } break; + #endif // ROADMAP_UNNEEDED case tt_unknown: end_something_else(); *************** *** 1127,1133 **** static void ! fprint_tag_and_attrs( FILE *ofd, char *prefix, char *suffix, xml_tag *tag ) { char **pa; fprintf( ofd, "%s%s", prefix, tag->tagname ); pa = tag->attributes; --- 1176,1183 ---- static void ! fprint_tag_and_attrs( FILE *ofd, char *prefix, char *suffix, xml_tag *tag, int indent ) { char **pa; + while (indent--) fputc(' ', ofd); fprintf( ofd, "%s%s", prefix, tag->tagname ); pa = tag->attributes; *************** *** 1142,1154 **** static void ! fprint_xml_chain( FILE *ofd, xml_tag *tag, const waypoint *wpt ) { char *tmp_ent; while ( tag ) { if ( !tag->cdata && !tag->child ) { ! fprint_tag_and_attrs(ofd, "<", " />", tag ); } else { ! fprint_tag_and_attrs(ofd, "<", ">", tag ); if ( tag->cdata ) { --- 1192,1206 ---- static void ! fprint_xml_chain( FILE *ofd, xml_tag *tag, const waypoint *wpt, int indent) { char *tmp_ent; + int i; while ( tag ) { + i = indent; if ( !tag->cdata && !tag->child ) { ! fprint_tag_and_attrs(ofd, "<", " />", tag, i ); } else { ! fprint_tag_and_attrs(ofd, "<", ">", tag, i ); if ( tag->cdata ) { *************** *** 1158,1163 **** } if ( tag->child ) { ! fprint_xml_chain(ofd, tag->child, wpt); } if ( wpt && wpt->gc_data.exported && strcmp(tag->tagname, "groundspeak:cache" ) == 0 ) { --- 1210,1217 ---- } if ( tag->child ) { ! fprint_xml_chain(ofd, tag->child, wpt, i+1); ! while (i--) fputc(' ', ofd); } + #if ROADMAP_UNNEEDED if ( wpt && wpt->gc_data.exported && strcmp(tag->tagname, "groundspeak:cache" ) == 0 ) { *************** *** 1165,1168 **** --- 1219,1223 ---- "", "groundspeak:exported" ); } + #endif // ROADMAP_UNNEEDED fprintf( ofd, "</%s>\n", tag->tagname); } *************** *** 1209,1212 **** --- 1264,1268 ---- } + #if ROADMAP_UNNEEDED /* * Handle the grossness of GPX 1.0 vs. 1.1 handling of linky links. *************** *** 1235,1239 **** --- 1291,1297 ---- } } + #endif // ROADMAP_UNNEEDED + #if ROADMAP_UNNEEDED /* * Write optional accuracy information for a given (way|track|route)point *************** *** 1283,1286 **** --- 1341,1345 ---- } } + #endif static void *************** *** 1307,1312 **** --- 1366,1373 ---- else write_optional_xml_entity(ofd, indent, "desc", waypointp->description); + #if ROADMAP_UNNEEDED write_gpx_url(ofd, waypointp); write_optional_xml_entity(ofd, indent , "sym", waypointp->icon_descr); + #endif } *************** *** 1339,1347 **** gpx_write_common_position(cb_file, waypointp, " "); gpx_write_common_description(cb_file, waypointp, " ", oname); gpx_write_common_acc(cb_file, waypointp, " "); fs_gpx = (fs_xml *)fs_chain_find( waypointp->fs, FS_GPX ); if ( fs_gpx ) { ! fprint_xml_chain(cb_file, fs_gpx->tag, waypointp ); } fprintf(cb_file, "</wpt>\n"); --- 1400,1410 ---- gpx_write_common_position(cb_file, waypointp, " "); gpx_write_common_description(cb_file, waypointp, " ", oname); + #if ROADMAP_UNNEEDED gpx_write_common_acc(cb_file, waypointp, " "); + #endif fs_gpx = (fs_xml *)fs_chain_find( waypointp->fs, FS_GPX ); if ( fs_gpx ) { ! fprint_xml_chain(cb_file, fs_gpx->tag, waypointp, 2 ); } fprintf(cb_file, "</wpt>\n"); *************** *** 1363,1367 **** fs_gpx = (fs_xml *)fs_chain_find( rte->fs, FS_GPX ); if ( fs_gpx ) { ! fprint_xml_chain(cb_file, fs_gpx->tag, NULL ); } } --- 1426,1430 ---- fs_gpx = (fs_xml *)fs_chain_find( rte->fs, FS_GPX ); if ( fs_gpx ) { ! fprint_xml_chain(cb_file, fs_gpx->tag, NULL, 1 ); } } *************** *** 1397,1405 **** waypointp->wpt_flags.shortname_is_synthetic ? NULL : waypointp->shortname); gpx_write_common_acc(cb_file, waypointp, " "); fs_gpx = (fs_xml *)fs_chain_find( waypointp->fs, FS_GPX ); if ( fs_gpx ) { ! fprint_xml_chain(cb_file, fs_gpx->tag, waypointp ); } --- 1460,1470 ---- waypointp->wpt_flags.shortname_is_synthetic ? NULL : waypointp->shortname); + #if ROADMAP_UNNEEDED gpx_write_common_acc(cb_file, waypointp, " "); + #endif fs_gpx = (fs_xml *)fs_chain_find( waypointp->fs, FS_GPX ); if ( fs_gpx ) { ! fprint_xml_chain(cb_file, fs_gpx->tag, waypointp, 2 ); } *************** *** 1428,1432 **** fs_gpx = (fs_xml *)fs_chain_find( rte->fs, FS_GPX ); if ( fs_gpx ) { ! fprint_xml_chain(cb_file, fs_gpx->tag, NULL ); } } --- 1493,1497 ---- fs_gpx = (fs_xml *)fs_chain_find( rte->fs, FS_GPX ); if ( fs_gpx ) { ! fprint_xml_chain(cb_file, fs_gpx->tag, NULL, 2 ); } } *************** *** 1446,1454 **** waypointp->wpt_flags.shortname_is_synthetic ? NULL : waypointp->shortname); gpx_write_common_acc(cb_file, waypointp, " "); fs_gpx = (fs_xml *)fs_chain_find( waypointp->fs, FS_GPX ); if ( fs_gpx ) { ! fprint_xml_chain(cb_file, fs_gpx->tag, waypointp ); } --- 1511,1521 ---- waypointp->wpt_flags.shortname_is_synthetic ? NULL : waypointp->shortname); + #if ROADMAP_UNNEEDED gpx_write_common_acc(cb_file, waypointp, " "); + #endif fs_gpx = (fs_xml *)fs_chain_find( waypointp->fs, FS_GPX ); if ( fs_gpx ) { ! fprint_xml_chain(cb_file, fs_gpx->tag, waypointp, 2 ); } |
From: Paul F. <pg...@us...> - 2006-09-28 11:04:03
|
Update of /cvsroot/roadmap/roadmap/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv27356 Modified Files: roadmap_linefont.c Log Message: remove debug ifdef from the iso char conversion Index: roadmap_linefont.c =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/roadmap_linefont.c,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** roadmap_linefont.c 5 Sep 2006 00:57:42 -0000 1.6 --- roadmap_linefont.c 28 Sep 2006 11:03:57 -0000 1.7 *************** *** 114,117 **** --- 114,120 ---- const unsigned char romans_font[]; + /* This font only supports US ASCII. Map accented isolatin chars + * to the nearest ASCII equivalent. + */ static char isoconv_chars[] = "AAAAAAECEEEEIIIIDNoooooxOUUUUYPBaaaaaaeceeeeiiiionooooo/ouuuuypy"; *************** *** 121,130 **** isoconv(char c) { - #if 0 unsigned char uc = (unsigned char)c; if (uc >= ISOCONV_MIN) return isoconv_chars[uc - ISOCONV_MIN]; else - #endif return c; } --- 124,131 ---- |
From: Paul F. <pg...@us...> - 2006-09-27 10:30:53
|
Update of /cvsroot/roadmap/roadmap/src/gtk In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv345/gtk Modified Files: roadmap_main.c Log Message: support for binding the Enter key Index: roadmap_main.c =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/gtk/roadmap_main.c,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** roadmap_main.c 26 Jun 2006 17:47:59 -0000 1.19 --- roadmap_main.c 27 Sep 2006 10:30:49 -0000 1.20 *************** *** 100,103 **** --- 100,105 ---- case GDK_Down: key = "Button-Down"; break; + case GDK_Return: key = "Enter"; break; + /* These binding are for the iPAQ buttons: */ case 0x1008ff1a: key = "Button-Menu"; break; |
From: Paul F. <pg...@us...> - 2006-09-27 10:30:52
|
Update of /cvsroot/roadmap/roadmap/src/gtk2 In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv345/gtk2 Modified Files: roadmap_main.c Log Message: support for binding the Enter key Index: roadmap_main.c =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/gtk2/roadmap_main.c,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** roadmap_main.c 26 Jun 2006 17:47:59 -0000 1.26 --- roadmap_main.c 27 Sep 2006 10:30:49 -0000 1.27 *************** *** 163,166 **** --- 163,168 ---- case GDK_Down: key = "Button-Down"; break; + case GDK_Return: key = "Enter"; break; + /* These binding are for the iPAQ buttons: */ case 0x1008ff1a: key = "Button-Menu"; break; |
From: Paul F. <pg...@us...> - 2006-09-27 10:21:53
|
Update of /cvsroot/roadmap/roadmap/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv29274 Modified Files: roadmap_trip.c Log Message: no tabs Index: roadmap_trip.c =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/roadmap_trip.c,v retrieving revision 1.61 retrieving revision 1.62 diff -C2 -d -r1.61 -r1.62 *** roadmap_trip.c 27 Sep 2006 10:11:02 -0000 1.61 --- roadmap_trip.c 27 Sep 2006 10:21:49 -0000 1.62 *************** *** 1820,1837 **** if (RoadMapCurrentRoute != NULL) { ! /* Show the route outline? */ if (roadmap_config_match (&RoadMapConfigTripShowRouteLines, "yes")) { ! if (RoadMapTripRouteLinesPen == NULL) { ! RoadMapTripRouteLinesPen = ! roadmap_canvas_create_pen ("Map.RouteLines"); ! roadmap_canvas_set_foreground ! (roadmap_config_get (&RoadMapConfigTripRouteLineColor)); ! } else { ! roadmap_canvas_select_pen (RoadMapTripRouteLinesPen); ! } ! RoadMapTripFirstRoutePoint = 1; ! route_waypt_iterator ! (RoadMapCurrentRoute, roadmap_trip_route_routelines_draw); ! } /* Show all the on-route waypoint sprites. */ --- 1820,1837 ---- if (RoadMapCurrentRoute != NULL) { ! /* Show the route outline? */ if (roadmap_config_match (&RoadMapConfigTripShowRouteLines, "yes")) { ! if (RoadMapTripRouteLinesPen == NULL) { ! RoadMapTripRouteLinesPen = ! roadmap_canvas_create_pen ("Map.RouteLines"); ! roadmap_canvas_set_foreground ! (roadmap_config_get (&RoadMapConfigTripRouteLineColor)); ! } else { ! roadmap_canvas_select_pen (RoadMapTripRouteLinesPen); ! } ! RoadMapTripFirstRoutePoint = 1; ! route_waypt_iterator ! (RoadMapCurrentRoute, roadmap_trip_route_routelines_draw); ! } /* Show all the on-route waypoint sprites. */ |
From: Paul F. <pg...@us...> - 2006-09-27 10:11:10
|
Update of /cvsroot/roadmap/roadmap/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv24927 Modified Files: roadmap_trip.c Log Message: add support for connect-the-dots route presentation. Index: roadmap_trip.c =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/roadmap_trip.c,v retrieving revision 1.60 retrieving revision 1.61 diff -C2 -d -r1.60 -r1.61 *** roadmap_trip.c 27 Sep 2006 09:25:36 -0000 1.60 --- roadmap_trip.c 27 Sep 2006 10:11:02 -0000 1.61 *************** *** 62,65 **** --- 62,71 ---- ROADMAP_CONFIG_ITEM("Display", "Rotate"); + static RoadMapConfigDescriptor RoadMapConfigTripShowRouteLines = + ROADMAP_CONFIG_ITEM("Trip", "Connect Route Points"); + + static RoadMapConfigDescriptor RoadMapConfigTripRouteLineColor = + ROADMAP_CONFIG_ITEM("Trip", "Route Connect Color"); + static RoadMapConfigDescriptor RoadMapConfigFocusName = ROADMAP_CONFIG_ITEM("Focus", "Name"); *************** *** 90,93 **** --- 96,100 ---- static int RoadMapTripFocusMoved = 1; + static RoadMapPen RoadMapTripRouteLinesPen = NULL; static int RoadMapTripDrawingActiveRoute; static int RoadMapTripShowInactiveRoutes = 0; *************** *** 1730,1733 **** --- 1737,1742 ---- } + static int RoadMapTripFirstRoutePoint; + static void roadmap_trip_route_waypoint_draw (const waypoint *waypointp) { *************** *** 1768,1771 **** --- 1777,1798 ---- } + static void roadmap_trip_route_routelines_draw (const waypoint *waypointp) + { + static RoadMapPosition lastpos; + + if ( !RoadMapTripFirstRoutePoint ) { + RoadMapGuiPoint points[2]; + int count = 2; + if (roadmap_math_get_visible_coordinates + (&lastpos, &waypointp->pos, &points[0], &points[1])) { + roadmap_math_rotate_coordinates (2, points); + roadmap_canvas_draw_multiple_lines(1, &count, points, 1); + } + } + + RoadMapTripFirstRoutePoint = 0; + lastpos = waypointp->pos; + } + void roadmap_trip_display (void) { *************** *** 1791,1796 **** roadmap_trip_standalone_waypoint_draw); - /* Show all the on-route waypoints. */ if (RoadMapCurrentRoute != NULL) { RoadMapTripDrawingActiveRoute = 1; route_waypt_iterator --- 1818,1839 ---- roadmap_trip_standalone_waypoint_draw); if (RoadMapCurrentRoute != NULL) { + + /* Show the route outline? */ + if (roadmap_config_match (&RoadMapConfigTripShowRouteLines, "yes")) { + if (RoadMapTripRouteLinesPen == NULL) { + RoadMapTripRouteLinesPen = + roadmap_canvas_create_pen ("Map.RouteLines"); + roadmap_canvas_set_foreground + (roadmap_config_get (&RoadMapConfigTripRouteLineColor)); + } else { + roadmap_canvas_select_pen (RoadMapTripRouteLinesPen); + } + RoadMapTripFirstRoutePoint = 1; + route_waypt_iterator + (RoadMapCurrentRoute, roadmap_trip_route_routelines_draw); + } + + /* Show all the on-route waypoint sprites. */ RoadMapTripDrawingActiveRoute = 1; route_waypt_iterator *************** *** 1907,1910 **** --- 1950,1959 ---- ("preferences", &RoadMapConfigTripRotate, "yes", "no", NULL); + roadmap_config_declare_enumeration + ("preferences", &RoadMapConfigTripShowRouteLines, "yes", "no", NULL); + roadmap_config_declare + ("preferences", &RoadMapConfigTripRouteLineColor, "red"); + + } |
From: Paul F. <pg...@us...> - 2006-09-27 09:25:38
|
Update of /cvsroot/roadmap/roadmap/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv6872 Modified Files: roadmap_trip.c roadmap_trip.h roadmap_start.c Log Message: add command to directly add waypoint to route. this is already possible through a dialog box, but it speeds route creation immensely to be able to bind "addroutewaypoint" to a toolbar button. Index: roadmap_trip.c =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/roadmap_trip.c,v retrieving revision 1.59 retrieving revision 1.60 diff -C2 -d -r1.59 -r1.60 *** roadmap_trip.c 27 Sep 2006 09:16:50 -0000 1.59 --- roadmap_trip.c 27 Sep 2006 09:25:36 -0000 1.60 *************** *** 1139,1142 **** --- 1139,1158 ---- } + void roadmap_trip_insert_routepoint_best(void) + { + const char *name; + + if (RoadMapCurrentRoute == NULL || + RoadMapTripLastSetPoint == NULL || + !RoadMapTripLastSetPoint->has_value) { + return; + } + + name = roadmap_trip_last_setpoint_name(); + + roadmap_trip_add_waypoint + (name, &RoadMapTripLastSetPoint->map, PLACE_ROUTE_MARK_INSERT); + } + static waypoint * roadmap_trip_choose_best_next (const RoadMapPosition *pos); *************** *** 1762,1772 **** /* Show all the inactive route waypoints first */ if (RoadMapTripShowInactiveRoutes) { ! RoadMapTripDrawingActiveRoute = 0; ! ROADMAP_LIST_FOR_EACH (&RoadMapTripRouteHead, elem, tmp) { ! route_head *rh = (route_head *) elem; ! if (rh == RoadMapCurrentRoute) continue; route_waypt_iterator ! (rh, roadmap_trip_route_waypoint_draw); ! } } --- 1778,1788 ---- /* Show all the inactive route waypoints first */ if (RoadMapTripShowInactiveRoutes) { ! RoadMapTripDrawingActiveRoute = 0; ! ROADMAP_LIST_FOR_EACH (&RoadMapTripRouteHead, elem, tmp) { ! route_head *rh = (route_head *) elem; ! if (rh == RoadMapCurrentRoute) continue; route_waypt_iterator ! (rh, roadmap_trip_route_waypoint_draw); ! } } *************** *** 1777,1781 **** /* Show all the on-route waypoints. */ if (RoadMapCurrentRoute != NULL) { ! RoadMapTripDrawingActiveRoute = 1; route_waypt_iterator (RoadMapCurrentRoute, roadmap_trip_route_waypoint_draw); --- 1793,1797 ---- /* Show all the on-route waypoints. */ if (RoadMapCurrentRoute != NULL) { ! RoadMapTripDrawingActiveRoute = 1; route_waypt_iterator (RoadMapCurrentRoute, roadmap_trip_route_waypoint_draw); Index: roadmap_trip.h =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/roadmap_trip.h,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** roadmap_trip.h 27 Sep 2006 08:44:06 -0000 1.24 --- roadmap_trip.h 27 Sep 2006 09:25:36 -0000 1.25 *************** *** 91,94 **** --- 91,96 ---- void roadmap_trip_currenttrack_to_track (void); + void roadmap_trip_insert_routepoint_best(void); + #endif // INCLUDE__ROADMAP_TRIP__H Index: roadmap_start.c =================================================================== RCS file: /cvsroot/roadmap/roadmap/src/roadmap_start.c,v retrieving revision 1.102 retrieving revision 1.103 diff -C2 -d -r1.102 -r1.103 *** roadmap_start.c 27 Sep 2006 08:44:06 -0000 1.102 --- roadmap_start.c 27 Sep 2006 09:25:36 -0000 1.103 *************** *** 519,522 **** --- 519,526 ---- "Edit current route's waypoints", roadmap_trip_route_waypoint_manage_dialog }, + {"addroutewaypoint", "Add Route Waypoint", NULL, NULL, + "Add selection to the current route's waypoints", + roadmap_trip_insert_routepoint_best }, + {"edittripwaypoints", "Trip Landmarks...", NULL, NULL, "Edit landmarks associated with this trip", roadmap_trip_trip_waypoint_manage_dialog }, *************** *** 639,642 **** --- 643,647 ---- "addaswaypoint", "gpsaswaypoint", + "addroutewaypoint", "editroutewaypoints", "edittripwaypoints", |