From 8e68a209fd09c57b33c95cb402d2da728c42505e Mon Sep 17 00:00:00 2001 From: Johannes Hofmann Date: Sat, 30 Apr 2005 19:18:43 +0000 Subject: first try with guesing first try with guesing --- src/GipfelWidget.cxx | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) (limited to 'src/GipfelWidget.cxx') diff --git a/src/GipfelWidget.cxx b/src/GipfelWidget.cxx index ca4b470..6e93c37 100644 --- a/src/GipfelWidget.cxx +++ b/src/GipfelWidget.cxx @@ -1,5 +1,5 @@ // -// "$Id: GipfelWidget.cxx,v 1.14 2005/04/30 09:42:47 hofmann Exp $" +// "$Id: GipfelWidget.cxx,v 1.15 2005/04/30 21:18:43 hofmann Exp $" // // PSEditWidget routines. // @@ -48,10 +48,16 @@ static Fl_Menu_Item menuitems[] = { }; GipfelWidget::GipfelWidget(int X,int Y,int W, int H): Fl_Widget(X, Y, W, H) { + int i; + img = NULL; pan = new Panorama(); cur_mountain = NULL; mb = NULL; + marker = new Mountain(0,0); + for (i=1; i<=3; i++) { + marker->append(new Mountain(i * 10, 0)); + } fl_register_images(); } @@ -115,6 +121,17 @@ GipfelWidget::draw() { m = m->get_next_visible(); } + + m = marker; + while (m) { + fl_color(FL_GREEN); + + fl_xyline(center_x + m->x + x() - 3, center_y + m->y + y(), center_x + m->x + x() + 3); + fl_yxline(center_x + m->x + x(), center_y + m->y + y() - 3, center_y + m->y + y() + 3); + + m = m->get_next(); + } + fl_pop_clip(); } @@ -133,6 +150,17 @@ GipfelWidget::set_cur_mountain(int m_x, int m_y) { m = m->get_next_visible(); } + m = marker; + while (m) { + if (m_x - center >= m->x - 2 && m_x - center < m->x + 2) { + cur_mountain = m; + redraw(); + return 0; + } + + m = m->get_next(); + } + cur_mountain = NULL; redraw(); return 1; @@ -190,6 +218,12 @@ GipfelWidget::comp_params() { redraw(); } +int +GipfelWidget::guess() { + pan->guess(marker); + redraw(); +} + int GipfelWidget::handle(int event) { -- cgit v1.2.3