summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimo <timo@marieluise.local>2018-04-15 09:57:23 +0200
committerTimo <timo@marieluise.local>2018-04-15 09:57:23 +0200
commit54dac2a0f22efbe15d4b081d69881a344bdc0419 (patch)
tree056e779423ce72c5dd2d5d8f2eb4fd54e13e6f87
parent835ab9a74f43f0e63fdcaea8bd68c046868aeba5 (diff)
downloadnavit-54dac2a0f22efbe15d4b081d69881a344bdc0419.tar.gz
show min/max elevation and distance in height profile
-rw-r--r--navit/gui/internal/gui_internal_command.c17
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;