So as I understood the process - to draw an arrow with the
head starting 3/4 the length and +/-5 pixels wide. It looks a
lot better than my trying to work out the angles and hoping I
was using the trig functions correctly.
fl_push_matrix();
// Set the drawing to be centred in the widget and rotated by the wind direction
fl_translate(x_zero, y_zero);
fl_rotate(-(double)dirn);
fl_begin_complex_polygon();
// Draw an arrow down from North
fl_vertex(1, -radius);
fl_vertex(1, radius/2);
fl_vertex(5, radius/2);
fl_vertex(0, radius);
fl_vertex(-5, radius/2);
fl_vertex(-1, radius/2);
fl_vertex(-1, -radius);
//
fl_end_complex_polygon();
fl_pop_matrix();
Thanks for sharing your code.
An even more simplistic approach would be to use FLTK's "symbols" if
you only need the eight main directions (N, W, E, W, NW, NE, SW,
SE). See the test/symbols.cxx demo, using the "symbol" '@N->' or
any other appropriate symbol, e.g. '@Narrow' etc.
Of course, drawing the arrow yourself is more flexible...
Comments are owned by the poster. All other content is copyright 1998-2025 by Bill Spitzak and others. This project is hosted by The FLTK Team. Please report site problems to 'erco@seriss.com'.