diff options
Diffstat (limited to 'src/GipfelWidget.cxx')
| -rw-r--r-- | src/GipfelWidget.cxx | 21 | 
1 files changed, 18 insertions, 3 deletions
| diff --git a/src/GipfelWidget.cxx b/src/GipfelWidget.cxx index bfa61dd..bed4cd1 100644 --- a/src/GipfelWidget.cxx +++ b/src/GipfelWidget.cxx @@ -309,7 +309,7 @@ GipfelWidget::draw() {    for (i=0; i<mnts->get_num(); i++) {      m = mnts->get(i); -    if (m->flags & (Hill::DUPLICATE | Hill::TRACK_POINT)) { +    if (m->flags & (Hill::DUPLICATE|Hill::TRACK_POINT|Hill::HIDDEN)) {        continue;      } @@ -319,6 +319,8 @@ GipfelWidget::draw() {      } else if (m == m2) {        fl_color(FL_RED);        draw_flag(center_x + m->x + x(), center_y + m->y + y(), "2"); +    } else if (m->flags & Hill::HIDDEN) { +      fl_color(FL_BLUE);      } else {        fl_color(FL_BLACK);      } @@ -345,12 +347,17 @@ GipfelWidget::draw() {    if (track_points && track_points->get_num() > 0) {      int last_x, last_y, last_initialized = 0; -    fl_color(FL_RED);      for (i=1; i<track_points->get_num(); i++) {        if (!(track_points->get(i)->flags & Hill::VISIBLE)) {          continue;        } +      if (track_points->get(i)->flags & Hill::HIDDEN) { +        fl_color(FL_BLUE); +      } else { +        fl_color(FL_RED); +      } +        fl_line_style(FL_SOLID|FL_CAP_ROUND|FL_JOIN_ROUND,                      get_rel_track_width(track_points->get(i)));        if (last_initialized) { @@ -388,7 +395,7 @@ GipfelWidget::set_labels(Hills *v) {    for (i=0; i<v->get_num(); i++) {      m = v->get(i); -    if (m->flags & (Hill::DUPLICATE | Hill::TRACK_POINT)) { +    if (m->flags & (Hill::DUPLICATE|Hill::TRACK_POINT|Hill::HIDDEN)) {        continue;      } @@ -608,6 +615,14 @@ GipfelWidget::set_height_dist_ratio(double r) {  }  void +GipfelWidget::set_hide_value(double h) { +  pan->set_hide_value(h); +  set_labels(pan->get_visible_mountains()); +   +  redraw(); +} + +void  GipfelWidget::set_view_lat(double v) {    pan->set_view_lat(v);    set_labels(pan->get_visible_mountains()); | 
