From e235adf3601bd36605ed3510b55e63d8606cbbe0 Mon Sep 17 00:00:00 2001 From: Johannes Hofmann Date: Thu, 9 Aug 2007 19:22:23 +0200 Subject: implement export --- src/GipfelWidget.cxx | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'src/GipfelWidget.cxx') diff --git a/src/GipfelWidget.cxx b/src/GipfelWidget.cxx index f9b5d21..b3e9697 100644 --- a/src/GipfelWidget.cxx +++ b/src/GipfelWidget.cxx @@ -674,6 +674,39 @@ GipfelWidget::handle(int event) { return 0; } +int +GipfelWidget::export_hills(const char *file) { + FILE *fp; + Hills *mnts; + Hill *m; + + fp = fopen(file, "wb"); + + if (fp == NULL) { + perror("fopen"); + return 1; + } + + fprintf(fp, "#\n# name\theight\tx\ty\tdistance\n#\n"); + + mnts = pan->get_visible_mountains(); + for (int i=0; iget_num(); i++) { + m = mnts->get(i); + + if (m->x < 0 || m->x > w() || m->y < 0 || m->y > h()) { + continue; + } + + fprintf(fp, "%s\t%d\t%d\t%d\t%d\n", + m->name, (int) rint(m->height), + (int) rint( m->x), (int) rint(m->y), + (int) rint(pan->get_real_distance(m))); + } + + fclose(fp); + return 0; +} + int GipfelWidget::get_pixel(GipfelWidget::sample_mode_t m, double a_alph, double a_nick, int *r, int *g, int *b) { -- cgit v1.2.3