diff options
| author | Albrecht Schlosser <albrechts.fltk@online.de> | 2008-09-16 06:49:08 +0000 |
|---|---|---|
| committer | Albrecht Schlosser <albrechts.fltk@online.de> | 2008-09-16 06:49:08 +0000 |
| commit | e20eeb65413d0cf1a94d682c51d781314beeda6d (patch) | |
| tree | 8d2c124fb6f409a024a8c9a11785d8fdc5008a64 /FL/Fl_Chart.H | |
| parent | 5da1c0f71f3fd299c5bf50df911fc4cdb3ac96c0 (diff) | |
applied Duncan Gibson's documentation patch (WP3).
Docs look good, compiles okay.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6264 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'FL/Fl_Chart.H')
| -rw-r--r-- | FL/Fl_Chart.H | 66 |
1 files changed, 60 insertions, 6 deletions
diff --git a/FL/Fl_Chart.H b/FL/Fl_Chart.H index 70df559d8..b0a4d813a 100644 --- a/FL/Fl_Chart.H +++ b/FL/Fl_Chart.H @@ -3,7 +3,7 @@ // // Forms chart header file for the Fast Light Tool Kit (FLTK). // -// Copyright 1998-2005 by Bill Spitzak and others. +// Copyright 1998-2008 by Bill Spitzak and others. // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Library General Public @@ -52,6 +52,28 @@ struct FL_CHART_ENTRY { char str[FL_CHART_LABEL_MAX+1]; }; +/** + \class Fl_Chart + \brief Fl_Chart displays simple charts. + It is provided for Forms compatibility. + + \image html charts.gif + + \todo Refactor Fl_Chart::type() information. + + The type of an Fl_Chart object can be set using type(uchar t) to: + \li \c FL_BAR_CHART: Each sample value is drawn as a vertical bar. + \li \c FL_FILLED_CHART: The chart is filled from the bottom of the graph + to the sample values. + \li \c FL_HORBAR_CHART: Each sample value is drawn as a horizontal bar. + \li \c FL_LINE_CHART: The chart is drawn as a polyline with vertices at + each sample value. + \li \c FL_PIE_CHART: A pie chart is drawn with each sample value being + drawn as a proportionate slice in the circle. + \li \c FL_SPECIALPIE_CHART: Like \c FL_PIE_CHART, but the first slice is + separated from the pie. + \li \c FL_SPIKE_CHART: Each sample value is drawn as a vertical line. + */ class FL_EXPORT Fl_Chart : public Fl_Widget { int numb; int maxnumb; @@ -65,25 +87,57 @@ class FL_EXPORT Fl_Chart : public Fl_Widget { protected: void draw(); public: - Fl_Chart(int,int,int,int,const char * = 0); + Fl_Chart(int X, int Y, int W, int H, const char *L = 0); + ~Fl_Chart(); + void clear(); - void add(double, const char * =0, unsigned=0); - void insert(int, double, const char * =0, unsigned=0); - void replace(int, double, const char * =0, unsigned=0); + + void add(double val, const char *str = 0, unsigned col = 0); + + void insert(int ind, double val, const char *str = 0, unsigned col = 0); + + void replace(int ind, double val, const char *str = 0, unsigned col = 0); + + /** + Gets the lower and upper bounds of the chart values. + \param[out] a, b are set to lower, upper + */ void bounds(double *a,double *b) const {*a = min; *b = max;} + void bounds(double a,double b); + + /** + Returns the number of data values in the chart. + */ int size() const {return numb;} + void size(int W, int H) { Fl_Widget::size(W, H); } + + /** + Get the maximum number of data values for a chart. + */ int maxsize() const {return maxnumb;} - void maxsize(int); + + void maxsize(int m); + Fl_Font textfont() const {return textfont_;} void textfont(Fl_Font s) {textfont_ = s;} Fl_Fontsize textsize() const {return textsize_;} void textsize(Fl_Fontsize s) {textsize_ = s;} Fl_Color textcolor() const {return (Fl_Color)textcolor_;} void textcolor(unsigned n) {textcolor_ = n;} + + /** + Get whether the chart will automatically adjust the bounds of the chart. + \returns non-zero if auto-sizing is enabled and zero if disabled. + */ uchar autosize() const {return autosize_;} + + /** + Set whether the chart will automatically adjust the bounds of the chart. + \param n non-zero to enable automatic resizing, zero to disable. + */ void autosize(uchar n) {autosize_ = n;} }; |
