Fl_Chart: minor update and additional documentation

Add forgotten parameter docs and some minor code fixes.
This commit is contained in:
Albrecht Schlosser 2023-01-16 00:08:47 +01:00
parent dde2d21b5d
commit f44bdfb7cf

View File

@ -1,5 +1,5 @@
// //
// Chart widget for the Fast Light Tool Kit (FLTK). // Fl_Chart widget for the Fast Light Tool Kit (FLTK).
// //
// Copyright 1998-2023 by Bill Spitzak and others. // Copyright 1998-2023 by Bill Spitzak and others.
// //
@ -24,7 +24,6 @@
// this function is in fl_boxtype.cxx: // this function is in fl_boxtype.cxx:
void fl_rectbound(int x, int y, int w, int h, Fl_Color color); void fl_rectbound(int x, int y, int w, int h, Fl_Color color);
static const double ARCINC = (2.0 * M_PI / 360.0); static const double ARCINC = (2.0 * M_PI / 360.0);
@ -152,6 +151,7 @@ void Fl_Chart::draw_horbarchart(int x, int y, int w, int h, int numb, FL_CHART_E
\p entries the array of \p numb entries, \p entries the array of \p numb entries,
and \p min and \p max the boundaries. and \p min and \p max the boundaries.
\param[in] type Chart type
\param[in] x, y, w, h Widget position and size \param[in] x, y, w, h Widget position and size
\param[in] numb Number of values \param[in] numb Number of values
\param[in] entries Array of values \param[in] entries Array of values
@ -161,6 +161,7 @@ void Fl_Chart::draw_horbarchart(int x, int y, int w, int h, int numb, FL_CHART_E
\param[in] maxnumb Maximal number of entries \param[in] maxnumb Maximal number of entries
\param[in] textcolor Text color \param[in] textcolor Text color
*/ */
void Fl_Chart::draw_linechart(int type, int x, int y, int w, int h, int numb, void Fl_Chart::draw_linechart(int type, int x, int y, int w, int h, int numb,
FL_CHART_ENTRY entries[], double min, double max, int autosize, FL_CHART_ENTRY entries[], double min, double max, int autosize,
int maxnumb, Fl_Color textcolor) int maxnumb, Fl_Color textcolor)
@ -204,10 +205,11 @@ void Fl_Chart::draw_linechart(int type, int x, int y, int w, int h, int numb,
fl_color(textcolor); fl_color(textcolor);
fl_line(x, zeroh, x + w, zeroh); fl_line(x, zeroh, x + w, zeroh);
// Draw the labels // Draw the labels
for (i = 0; i < numb; i++) for (i = 0; i < numb; i++) {
fl_draw(entries[i].str, x + (int)rint((i + .5) * bwidth), fl_draw(entries[i].str, x + (int)rint((i + .5) * bwidth),
zeroh - (int)rint(entries[i].val * incr), 0, 0, zeroh - (int)rint(entries[i].val * incr), 0, 0,
entries[i].val >= 0 ? FL_ALIGN_BOTTOM : FL_ALIGN_TOP); entries[i].val >= 0 ? FL_ALIGN_BOTTOM : FL_ALIGN_TOP);
}
} }
@ -283,14 +285,13 @@ void Fl_Chart::draw() {
draw_box(); draw_box();
Fl_Boxtype b = box(); Fl_Boxtype b = box();
int xx = x() + Fl::box_dx(b); // was 9 instead of dx... int xx = x() + Fl::box_dx(b);
int yy = y() + Fl::box_dy(b); int yy = y() + Fl::box_dy(b);
int ww = w() - Fl::box_dw(b); int ww = w() - Fl::box_dw(b);
int hh = h() - Fl::box_dh(b); int hh = h() - Fl::box_dh(b);
fl_push_clip(xx, yy, ww, hh); fl_push_clip(xx, yy, ww, hh);
ww--; ww--; hh--; // adjust for line thickness
hh--; // adjust for line thickness
if (min >= max) { if (min >= max) {
min = max = 0.0; min = max = 0.0;