X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Foutput%2Fcharts%2Fplot-chart.h;h=896b630b137e7245f679c15c5437e7b8a47168fe;hb=cb72db62c20ecab427229110820c5b053d0663c4;hp=f4cc5bbf06c3f91650c4988b15e76e36f8efc74a;hpb=c2f0df181038fe9975d642096e65ea48ca491acd;p=pspp diff --git a/src/output/charts/plot-chart.h b/src/output/charts/plot-chart.h index f4cc5bbf06..896b630b13 100644 --- a/src/output/charts/plot-chart.h +++ b/src/output/charts/plot-chart.h @@ -1,5 +1,5 @@ /* PSPP - a program for statistical analysis. - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2009 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,6 +14,10 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ +#ifndef PLOT_CHART_H +#define PLOT_CHART_H + +#include #include #include #include @@ -25,18 +29,15 @@ #include #include +#include +#include #include #include #include -#include "xalloc.h" - -#ifndef PLOT_CHART_H -#define PLOT_CHART_H - #define N_CHART_COLOURS 9 -extern const char *const data_colour[]; +extern const struct chart_colour data_colour[]; enum tick_orientation { @@ -44,32 +45,54 @@ enum tick_orientation TICK_ORDINATE }; +struct chart_geometry; + + +enum marker_type + { + MARKER_CIRCLE, /* Hollow circle. */ + MARKER_ASTERISK, /* Asterisk (*). */ + MARKER_SQUARE /* Hollow square. */ + }; + +void chart_draw_marker (cairo_t *, double x, double y, enum marker_type, + double size); + +void chart_label (cairo_t *, int horz_justify, int vert_justify, + double font_size, const char *); /* Draw a tick mark at position If label is non zero, then print it at the tick mark */ -void draw_tick(struct chart *chart, +void draw_tick(cairo_t *, const struct chart_geometry *, enum tick_orientation orientation, double position, - const char *label, ...); + const char *label, ...) + PRINTF_FORMAT (5, 6); /* Write the title on a chart*/ -void chart_write_title(struct chart *chart, const char *title, ...); +void chart_write_title(cairo_t *, const struct chart_geometry *, + const char *title, ...) + PRINTF_FORMAT (3, 4); /* Set the scale for the abscissa */ -void chart_write_xscale(struct chart *ch, double min, double max, int ticks); +void chart_write_xscale(cairo_t *, struct chart_geometry *, + double min, double max, int ticks); /* Set the scale for the ordinate */ -void chart_write_yscale(struct chart *ch, double smin, double smax, int ticks); +void chart_write_yscale(cairo_t *, struct chart_geometry *, + double smin, double smax, int ticks); -void chart_write_xlabel(struct chart *ch, const char *label) ; +void chart_write_xlabel(cairo_t *, const struct chart_geometry *, + const char *label) ; /* Write the ordinate label */ -void chart_write_ylabel(struct chart *ch, const char *label); +void chart_write_ylabel(cairo_t *, const struct chart_geometry *, + const char *label); -void chart_write_legend (struct chart *ch); +void chart_write_legend (cairo_t *, const struct chart_geometry *); #endif