/* The geometry of a chart. */
struct xrchart_geometry
{
- int abscissa_top;
- int ordinate_right;
+ /* Bottom of the abscissa segment */
+ int abscissa_bottom;
+
+ /* Left of the ordinate segment */
+ int ordinate_left;
int title_bottom;
double width, double length);
void xrchart_geometry_free (cairo_t *, struct xrchart_geometry *);
-#define XRCHART_N_COLOURS 9
+#define XRCHART_N_COLOURS 27
extern const struct xrchart_colour data_colour[];
enum tick_orientation
void xrchart_label (cairo_t *, int horz_justify, int vert_justify,
double font_size, const char *);
+void xrchart_label_rotate (cairo_t *cr, int horz_justify, int vert_justify,
+ double font_size, const char *string, double angle);
+
+
/* Draw a tick mark at position
If label is non zero, then print it at the tick mark
*/
void draw_tick (cairo_t *, const struct xrchart_geometry *,
- enum tick_orientation orientation, double position,
+ enum tick_orientation orientation,
+ bool rotated,
+ double position,
const char *label, ...)
- PRINTF_FORMAT (5, 6);
+ PRINTF_FORMAT (6, 7);
/* Write the title on a chart*/
struct xrchart_geometry *);
void xrchart_draw_scree (const struct chart_item *, cairo_t *,
struct xrchart_geometry *);
+void xrchart_draw_spreadlevel (const struct chart_item *, cairo_t *,
+ struct xrchart_geometry *);
+
#endif /* output/cairo-chart.h */