From 09b8c7977278e70c9dd4a12b786eb1ed62b97168 Mon Sep 17 00:00:00 2001 From: steffen Date: Thu, 27 Feb 2014 22:29:03 +0000 Subject: [PATCH] fixes.. --- ChangeLog | 6 ++++++ Makefile | 2 +- doc/TechDoc.odt | Bin 26615 -> 28610 bytes draw/draw.c | 4 ++-- draw/draw_gui.c | 23 ++++++++++++++++++----- gtk/gtk_main_menu.c | 13 ++++++------- gtk/gtk_main_wnd.c | 2 +- main/gui_search.c | 3 --- main/main.c | 9 +++++++-- main/osmroute.h | 4 ++-- mapsys/map.c | 9 +++++++++ mapsys/map_hash.c | 2 +- mapsys/map_loadsave.c | 2 +- mapsys/map_osmload.c | 14 +++++++------- mapsys/map_searchhash.c | 10 +++++----- mapsys/map_webload.c | 12 ++++-------- wince/wince_main.c | 2 +- 17 files changed, 71 insertions(+), 46 deletions(-) diff --git a/ChangeLog b/ChangeLog index 35f678e..c3ddc63 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,12 @@ Version 0.0.2: name changed to spOSMroute, since on there had been another OSMroute already. ============================================================================= +(2014-02-27): +- fixed: progressbar is back working again. +- fixed: during start up the draw_setscalef function wasn't called. +- got all systems back working again: Windows, WindowsCE, SDLGL, Android + and GTK + (2014-02-12): - fixed: quiting while in routing did not work. - fixed: gui_list elements where almost unable use. diff --git a/Makefile b/Makefile index 674df66..9bde60e 100644 --- a/Makefile +++ b/Makefile @@ -20,7 +20,7 @@ sposmedit: do if ! make -C $$i; then \ exit -2; \ fi done - $(CC) -o sposmedit -lmain -lncurses -lmapsys -lbase -lmain -Lbase -Lmapsys -Lmain `pkg-config --libs libxml-2.0` -lbz2 -ggdb -pg $(DEBUG) + $(CC) -o sposmedit -lm -lmain -lncurses -lmapsys -lbase -lmain -Lbase -Lmapsys -Lmain `pkg-config --libs libxml-2.0` -lbz2 -ggdb -pg $(DEBUG) cleanapp: rm -rf sposmedit diff --git a/doc/TechDoc.odt b/doc/TechDoc.odt index 3e18af20c763ab04b0b0814c9820368ff0048f4f..8780dc03f2a88206b6e2ec925aa3a2bbaaea2a62 100644 GIT binary patch literal 28610 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 diff --git a/draw/draw.c b/draw/draw.c index 3c60bf0..ac4d983 100644 --- a/draw/draw.c +++ b/draw/draw.c @@ -198,7 +198,7 @@ void draw_init () { view_lon = cfg.last_lon; view_lat = cfg.last_lat; - view_scale = cfg.last_scale; + draw_setscalef (cfg.last_scale); }; void draw_init_color () { @@ -284,7 +284,7 @@ void draw_init_color () { case (MWAY_unknown): case (MWAY_unknown_way): default: - gfx_color_alloc (&draw_linestyle[n].c, 0x7000,0x5000,0x5000); + gfx_color_alloc (&draw_linestyle[n].c, 0xA000,0x5000,0x5000); break; } } diff --git a/draw/draw_gui.c b/draw/draw_gui.c index 2c070b7..745c87d 100644 --- a/draw/draw_gui.c +++ b/draw/draw_gui.c @@ -215,18 +215,31 @@ void draw_gui () { ls.width = 1.0; ls.c = ls.borderc = color[COLOR_white][3]; - p1.x = gfx_screensize.x/2-100; - p2.x = gfx_screensize.x/2+100; + p1.x = gfx_screensize.x/2-101; + p2.x = gfx_screensize.x/2+101; p1.y = gfx_screensize.y-32; p2.y = gfx_screensize.y-10; - + + draw_polygonstart (); + draw_polygonadd (p1.x, p1.y); + draw_polygonadd (p2.x, p1.y); + draw_polygonadd (p2.x, p2.y); + draw_polygonadd (p1.x, p2.y); + draw_polygonfinish (NULL, ls, &color[COLOR_white][0], 1); + + p1.x = gfx_screensize.x/2-(float)(100.0*app.statusline_progress); + p2.x = gfx_screensize.x/2+(float)(100.0*app.statusline_progress); + p1.y = gfx_screensize.y-31; + p2.y = gfx_screensize.y-11; + draw_polygonstart (); draw_polygonadd (p1.x, p1.y); draw_polygonadd (p2.x, p1.y); draw_polygonadd (p2.x, p2.y); draw_polygonadd (p1.x, p2.y); - draw_polygonfinish (NULL, ls, &color[COLOR_blue][3], 1); - gfx_draw_text (NULL, p1.x + 2, p1.y + 2, app.statusline_text, &color[COLOR_white][3]); + draw_polygonfinish (NULL, ls, &color[COLOR_blue][3], 0); + + gfx_draw_text (NULL, gfx_screensize.x/2-98, p1.y + 2, app.statusline_text, &color[COLOR_white][3]); } /* diff --git a/gtk/gtk_main_menu.c b/gtk/gtk_main_menu.c index 35e0d97..5520ef6 100644 --- a/gtk/gtk_main_menu.c +++ b/gtk/gtk_main_menu.c @@ -63,7 +63,7 @@ void main_menu_refresh () { he.lon = view_lon + 2.0 * map_km2lon(view_scale * ((float)ss.x/10), he.lat); map_load_web (hs, he); - app_status ("", -1); + app_status (-1, "", 0.0); draw (); } }; @@ -80,9 +80,9 @@ void main_menu_mapdefrag () { void main_menu_saveall () { - app_status (_("save all"), -1); + app_status (-1,_("save all"), 0.0); map_save_all(); - app_status ("", -1); + app_status (-1, "", 0.0); }; @@ -127,14 +127,13 @@ void main_menu_osmimport () { osm_loadfile (fn); draw_redrawmap (); } - app_status ("", -1); - app.status = APPSTATUS_nothing; + app_status (APPSTATUS_nothing, "", 0.0); }; void main_menu_map_searchsort () { map_search_sort (); - app_status ("", -1); + app_status (-1, "", 0.0); }; @@ -145,7 +144,7 @@ void main_menu_map_searchrefresh () { map_search_get_filename (lfn, LEN_FILENAME); map_webload (rfn, lfn, NULL); - app_status ("", -1); + app_status (-1, "", 0.0); }; diff --git a/gtk/gtk_main_wnd.c b/gtk/gtk_main_wnd.c index 024e977..fd50747 100644 --- a/gtk/gtk_main_wnd.c +++ b/gtk/gtk_main_wnd.c @@ -211,7 +211,7 @@ void main_wnd_loop (long long int cur, long long int max) { t1 = time (NULL); if (to != t1) { - app_status (NULL, 0); + app_status (-1, NULL, 0.0); to = t1; } diff --git a/main/gui_search.c b/main/gui_search.c index d1b6a58..388af9c 100644 --- a/main/gui_search.c +++ b/main/gui_search.c @@ -29,9 +29,6 @@ #define SEARCH_MAXRESULT 32 void gui_search_close (); -void gui_search_refresh (); -void gui_search_next (); -void gui_search_prev (); void gui_search_city (); void gui_search_switch (int pos); diff --git a/main/main.c b/main/main.c index 4355333..5c1de3b 100644 --- a/main/main.c +++ b/main/main.c @@ -62,12 +62,17 @@ int app_loop () { /****************************************************************************** * update stausbar */ -void app_status (char *text, int progress) { +void app_status (int status, char *text, float progress) { static char oldtext[255]; if (text) strncpy (app.statusline_text, text, 255); else strncpy (app.statusline_text, oldtext, 255); - app.statusline_progress = progress; + + if (status >= 0) app.status = status; + + if (progress < 0.0) app.statusline_progress = 0.0; + else if (progress > 1.0) app.statusline_progress = 1.0; + else app.statusline_progress = progress; #ifdef SPOSMROUTE if (currentwin) currentwin->screen_changed = 1; diff --git a/main/osmroute.h b/main/osmroute.h index 491b49e..f1db64a 100644 --- a/main/osmroute.h +++ b/main/osmroute.h @@ -139,7 +139,7 @@ struct cfgdata { struct appdata { char statusline_text[255]; - int statusline_progress; + float statusline_progress; // value in 0.0 to 1.0 int status; float debug_lon; float debug_lat; @@ -174,7 +174,7 @@ extern struct appdata app; */ extern int app_init (int argc, char **argv); extern int app_shutdown (); -extern void app_status (char *text, int progress); +extern void app_status (int status, char *text, float progress); extern int app_loop (); extern void config_init (); diff --git a/mapsys/map.c b/mapsys/map.c index fa99523..1d50dc2 100644 --- a/mapsys/map.c +++ b/mapsys/map.c @@ -251,6 +251,9 @@ void map_refresh (float lon, float lat) { map_ls_get_filename (rfn, LEN_FILENAME, map_geo2igeo (lon), map_geo2igeo (lat)); #if defined(SPOSMROUTE) map_webload (fn, rfn, NULL); + map_clear (); + map_init (); + draw_redrawmap (); #endif }; @@ -304,6 +307,12 @@ void map_refreshblock (struct map_pos start, struct map_pos end, float delta) { #endif } } + + map_clear (); + map_init (); +#if defined(SPOSMROUTE) + draw_redrawmap (); +#endif }; diff --git a/mapsys/map_hash.c b/mapsys/map_hash.c index fb7de83..5b87283 100644 --- a/mapsys/map_hash.c +++ b/mapsys/map_hash.c @@ -167,7 +167,7 @@ void map_hash_free (struct map_hash *mh, int noremove) { * allocate new memory, copy all the data and free the momory again. */ struct map_hash *map_hash_realloc (struct map_hash *mhorg, int memsize) { - struct map_hash *res; + struct map_hash *res = NULL; int i = memsize; if (i < mhorg->datasize) return res; diff --git a/mapsys/map_loadsave.c b/mapsys/map_loadsave.c index b6cf829..4598232 100644 --- a/mapsys/map_loadsave.c +++ b/mapsys/map_loadsave.c @@ -217,7 +217,7 @@ struct map_lsstat *map_ls_statopen (char *fname) { mlss.r_fd = mlss.w_fd = 0; mlss.changed = 0; - if (file_exist (mlss.fname) == NULL) { + if (file_exist (mlss.fname) == 0) { d_printf ("map_ls_statopen file '%s' not found.", mlss.fname); mlss.r_fd = 0; return &mlss; diff --git a/mapsys/map_osmload.c b/mapsys/map_osmload.c index bfd81f6..c4ff1d7 100644 --- a/mapsys/map_osmload.c +++ b/mapsys/map_osmload.c @@ -737,7 +737,7 @@ void osm_waynodes_check () { for (hid = 0; hid < osm_hidmax; hid++) { sprintf (text, _("checking for waynodes in hid %d"), hid); - app_status (text, 0); + app_status (-1, text, 0.0); ohash = osm_hashnodes_load (hid, 1); for (i = 0; i < ohash->hash_cnt; i++) { if ((i%1024) == 0) main_wnd_loop (i, ohash->hash_cnt); @@ -1605,7 +1605,7 @@ void osm_processdata (xmlTextReaderPtr reader) { osm.oway->type -= MWAY_MAX; osm_area_cnt++; - osm_area_save (osm.oway, &osm.area); + if (osm.oway->type != MAREA_ignore) osm_area_save (osm.oway, &osm.area); } else { osm_ways_cnt++; @@ -1724,7 +1724,7 @@ void osm_processdata (xmlTextReaderPtr reader) { else if (strcmp ((char*) v, (char*) "steps") == 0) osm.oway->type = MWAY_footway; else { osm.oway->type = MWAY_unknown_way; - // printf ("unknown highway:'%s'\n", v); + printf ("unknown highway:'%s'\n", v); } } @@ -1922,7 +1922,7 @@ void osm_loadfile (char *fn) { osm_init (); if (fn == NULL) return; - app_status (_("converting file"), 0); + app_status (-1, _("converting file"), 0.0); d_printf ("osm_loadfile (%s)", fn); /* check the extension of the osm file */ @@ -1984,7 +1984,7 @@ void osm_loadfile (char *fn) { /* reset the locale setting back to the environment setting */ setlocale (LC_ALL, NULL); osm_free (); - app_status (_(""), -1); + app_status (-1, _(""), 0.0); }; @@ -2023,7 +2023,7 @@ void map_load_web (struct map_pos hs, struct map_pos he) { #if defined (_LINUX_) osm_load_from_web_end = he; osm_load_from_web_start = hs; - app_status (_("refresh from OpenStreetMap.org"), 0); + app_status (-1, _("refresh from OpenStreetMap.org"), 0.0); for (ret = 0; ret < MLWEBMAX; ret++) wl[ret].p.used = 0; for (ret = 0; ret < 13; ret++) args[ret] = NULL; @@ -2039,7 +2039,7 @@ void map_load_web (struct map_pos hs, struct map_pos he) { ret = execwait (&wl[i].p); if (ret == 1) { osm_loadfile (wl[i].fcache); - app_status (_("refresh from OpenStreetMap.org"), 0); + app_status (-1, _("refresh from OpenStreetMap.org"), 0.0); main_wnd_update (); } } diff --git a/mapsys/map_searchhash.c b/mapsys/map_searchhash.c index af8b5bf..f6fb7b3 100644 --- a/mapsys/map_searchhash.c +++ b/mapsys/map_searchhash.c @@ -200,7 +200,7 @@ void map_search_sort_alg1 (struct maps_sort *data) { } if (j % 100 == 0) { sprintf (text, _("Sorting search.mapidx %d/%d"), j, data->cnt); - app_status (text, 0); + app_status (-1, text, 0.0); main_wnd_update (); } } @@ -350,7 +350,7 @@ void map_search_sort_alg2 (struct maps_sort *data) { /* display update on the screen */ if (to++ < 0 || to > 250) { sprintf (text, _("sorting search.mapidx %d"), maps_qs_pos); - app_status (text, 0); + app_status (-1, text, 0.0); main_wnd_update (); to = 0; } @@ -440,7 +440,7 @@ void map_search_sort () { lid = msd.id; if (i % 10000 == 0) { sprintf (text, _("save search.mapidx %d"), i); - app_status (text, 0); + app_status (-1, text, 0.0); main_wnd_update (); } } @@ -471,8 +471,8 @@ void map_search_sort () { * the size on file. */ static char maps_line[MAP_SEARCHLINE_LEN*4]; -#warning maps_readpos.. read current position without checing and return -#warning start of next line. +#warning maps_readpos.. read current position without checking +#warning and return start of next line. /* * read an random position, check if we are at the start of valid data. If not diff --git a/mapsys/map_webload.c b/mapsys/map_webload.c index 7a0b66f..67370a7 100644 --- a/mapsys/map_webload.c +++ b/mapsys/map_webload.c @@ -346,8 +346,8 @@ int map_webload (char *remotefn, char *localfn, char *statustext) { else strncpy (_statustext, statustext, 255); d_printf ("map_webload started"); - app.status = APPSTATUS_loadfromweb; - + app_status(APPSTATUS_loadfromweb, NULL, 0.0); + strncpy (host, HOST, NET_HOSTLEN); strncpy (port, PORT, NET_PORTLEN); sock = tcp_connect (host, port); @@ -399,6 +399,7 @@ int map_webload (char *remotefn, char *localfn, char *statustext) { to = time(NULL); if (filesize > 0) sprintf (text, _("%s%d/%dkb loaded"), _statustext, filelen/1024, filesize/1024); else sprintf (text, _("%s%dkb loaded"), _statustext, filelen/1024); + app_status(-1, text, (float)((float)filelen/(float)filesize)); main_wnd_update (); } } @@ -418,12 +419,7 @@ int map_webload (char *remotefn, char *localfn, char *statustext) { if (file_exist (tmpfn)) unlink (tmpfn); } - app.status = APPSTATUS_nothing; - app_status(NULL, -1); - map_clear (); - map_init (); - draw_redrawmap (); - draw (); + app_status(APPSTATUS_nothing, NULL, 0.0); return 0; }; diff --git a/wince/wince_main.c b/wince/wince_main.c index 6a18d79..748adae 100644 --- a/wince/wince_main.c +++ b/wince/wince_main.c @@ -488,7 +488,7 @@ void DoMenuActions(HWND hWnd, INT id) { map_webload (rfn, lfn, NULL); map_search_sort (); #endif - app_status ("", -1); + app_status (-1, "", 0.0); } break; case IDM_MENU_MAP_WEBLOAD: