Changed all the licence notices in all the files.
[pspp-builds.git] / src / chart.h
index f2c9e501471151cc7282864f05bda72748070e4f..795462a77e765e323b4ff49037ffc10781b0a2bc 100644 (file)
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-   02111-1307, USA. */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA. */
 
 
 #ifndef CHART_H
 #define CHART_H
 
+#include <config.h>
 #include <stdio.h>
-#include <plot.h>
 #include <gsl/gsl_histogram.h>
-
 #include "var.h"
 
+#ifndef NO_CHARTS
+#include <plot.h>
+#endif
+
 
 /* Array of standard colour names */
 extern const char *data_colour[];
@@ -34,8 +37,13 @@ extern const char *data_colour[];
 
 struct chart {
 
+#ifndef NO_CHARTS
   plPlotter *lp ;
   plPlotterParams *pl_params;
+#else
+  void *lp;
+#endif
+  char *filename;
 
   /* The geometry of the chart 
      See diagram at the foot of this file.
@@ -61,7 +69,7 @@ struct chart {
 
   char fill_colour[10];
 
-  /* Stuff Particular to Cartesians */
+  /* Stuff Particular to Cartesians (and Boxplots ) */
   double ordinate_scale;
   double abscissa_scale;
   double x_min;
@@ -72,10 +80,8 @@ struct chart {
 };
 
 
-int  chart_initialise(struct chart *ch);
-
-void chart_finalise(struct chart *ch);
-
+struct chart * chart_create(void);
+void chart_submit(struct chart *ch);
 
 double chart_rounded_tick(double tick);
 
@@ -166,7 +172,17 @@ void chart_write_yscale(struct chart *ch,
 
 void chart_datum(struct chart *ch, int dataset, double x, double y);
 
+struct metrics;
+
+
+void  boxplot_draw_boxplot(struct chart *ch,
+                          double box_centre, 
+                          double box_width,
+                          struct metrics *m,
+                          const char *name);
+
 
+void boxplot_draw_yscale(struct chart *ch , double y_max, double y_min);
 
 
 enum CHART_DIM