diff options
author | jandegr <jandegr@users.noreply.github.com> | 2018-04-19 21:00:25 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-19 21:00:25 +0200 |
commit | 1ebee0a20a7c87ef6a665f3294394cb63fd2baff (patch) | |
tree | 94858a0f44f56dea8f5b560252f281e49825df42 | |
parent | 1b69419d87f7b2fe1a6e0f6a23ef5e8e617b7cb7 (diff) | |
parent | 54dac2a0f22efbe15d4b081d69881a344bdc0419 (diff) | |
download | navit-1ebee0a20a7c87ef6a665f3294394cb63fd2baff.tar.gz |
Merge pull request #441 from tengel/height-profile_show-elevation
show min/max elevation and distance in height profile
-rw-r--r-- | navit/gui/internal/gui_internal_command.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/navit/gui/internal/gui_internal_command.c b/navit/gui/internal/gui_internal_command.c index a91f69f5f..2fd0fabbe 100644 --- a/navit/gui/internal/gui_internal_command.c +++ b/navit/gui/internal/gui_internal_command.c @@ -479,6 +479,9 @@ gui_internal_cmd2_route_height_profile(struct gui_priv *this, char *function, st struct heightline *heightline,*heightlines=NULL; struct diagram_point *min,*diagram_point,*diagram_points=NULL; struct point p[2]; + int min_ele=INT_MAX; + int max_ele=INT_MIN; + int distance=0; sel.next=NULL; sel.order=18; sel.range.min=type_height_line_1; @@ -578,6 +581,9 @@ gui_internal_cmd2_route_height_profile(struct gui_priv *this, char *function, st diagram_points=diagram_point; diagram_points_count ++; dbg(lvl_debug,"%d %d\n", diagram_point->c.x, diagram_point->c.y); + max_ele=fmax(max_ele, diagram_point->c.y); + min_ele=fmin(min_ele, diagram_point->c.y); + distance=diagram_point->c.x; } } } @@ -654,6 +660,17 @@ gui_internal_cmd2_route_height_profile(struct gui_priv *this, char *function, st x=min->c.x+1; } } + + struct point pTopLeft={0, box->p.y + 10}; + struct point pBottomLeft={0, box->h + box->p.y - 2}; + struct point pBottomRight={box->w - 100, box->h + box->p.y - 2}; + char* minele_text=g_strdup_printf("%d m", min_ele); + char* maxele_text=g_strdup_printf("%d m", max_ele); + char* distance_text=g_strdup_printf("%.3f km", distance/1000.0); + graphics_draw_text_std(this->gra, 10, maxele_text, &pTopLeft); + graphics_draw_text_std(this->gra, 10, minele_text, &pBottomLeft); + graphics_draw_text_std(this->gra, 10, distance_text, &pBottomRight); + while (diagram_points){ diagram_point=diagram_points; diagram_points=diagram_points->next; |