X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Foutput%2Fchart.h;h=ac0bd372d9397733236d06bf4165fc93f81bd617;hb=2031b99a3f1970a0b9a840652f0aff80ec34b433;hp=4da12ecfe5b0afba3ea7035680fca5b1ea1d9af9;hpb=b40baf410822471fbdeeec553693619d60d7c7b6;p=pspp diff --git a/src/output/chart.h b/src/output/chart.h index 4da12ecfe5..ac0bd372d9 100644 --- a/src/output/chart.h +++ b/src/output/chart.h @@ -1,5 +1,5 @@ /* PSPP - a program for statistical analysis. - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2009, 2011 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -14,85 +14,33 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#include -#include -#include -#include -#include -#include -#include +#ifndef OUTPUT_CHART_H +#define OUTPUT_CHART_H 1 -#include -#include -#include "manager.h" -#include "output.h" +/* Charts. -#include "xalloc.h" + A chart is abstract. Every actual chart is a subclass of chart. */ -#ifndef CHART_H -#define CHART_H +#include -#ifndef NO_CHARTS -#include -#endif +/* A chart. -struct chart { + The members of struct chart should not be accessed directly. Use one + of the accessor functions defined below. */ +struct chart + { + int ref_cnt; + const struct chart_class *class; /* Subclass. */ + char *title; /* May be null if there is no title. */ + }; -#ifndef NO_CHARTS - plPlotter *lp ; - plPlotterParams *pl_params; -#else - void *lp; -#endif - char *file_name; - FILE *file; +struct chart *chart_ref (const struct chart *); +void chart_unref (struct chart *); +bool chart_is_shared (const struct chart *); - /* The geometry of the chart - See diagram at the foot of this file. - */ +const char *chart_get_title (const struct chart *); +void chart_set_title (struct chart *, const char *); - int data_top ; - int data_right ; - int data_bottom; - int data_left ; +void chart_submit (struct chart *); - int abscissa_top; - - int ordinate_right ; - - int title_bottom ; - - int legend_left ; - int legend_right ; - const char **dataset; - int n_datasets; - - - /* Default font size for the plot (if zero, then use plotter default) */ - int font_size; - - char fill_colour[10]; - - /* Stuff Particular to Cartesians (and Boxplots ) */ - double ordinate_scale; - double abscissa_scale; - double x_min; - double x_max; - double y_min; - double y_max; - bool in_path; -}; - - - -struct chart * chart_create(void); -void chart_submit(struct chart *ch); - -/* Helper functions for output drivers that put each chart into a - separate file. */ -void chart_init_separate (struct chart *, const char *type, - const char *file_name_tmpl, int number); - -void chart_finalise_separate (struct chart *); - -#endif +#endif /* output/chart.h */