#include "output/charts/piechart.h"
#include "output/charts/plot-hist.h"
#include "output/charts/roc-chart.h"
+#include "output/charts/spreadlevel-plot.h"
#include "output/charts/scree.h"
#include "output/driver-provider.h"
#include "output/message-item.h"
}
}
+ free (string);
+
/* Convert 16 bit ints to float */
*dred = red / (double) 0xFFFF;
*dgreen = green / (double) 0xFFFF;
{
struct output_driver *d = &xr->driver;
- int paper_width, paper_length;
+ int paper_width, paper_length, i;
int font_points = parse_int (opt (d, o, "font-size", "10000"), 1000, 1000000);
+
+ for (i = 0; i < XR_N_FONTS; i++)
+ {
+ struct xr_font *font = &xr->fonts[i];
+
+ if (font->desc != NULL)
+ pango_font_description_free (font->desc);
+ }
+
xr->fonts[XR_FONT_FIXED].desc = parse_font (d, o, "fixed-font", "monospace",
font_points);
xr->fonts[XR_FONT_PROPORTIONAL].desc = parse_font (d, o, "prop-font",
cairo_set_line_width (xr->cairo, xr_to_pt (xr->line_width));
map = pango_cairo_font_map_get_default ();
- context = pango_cairo_font_map_create_context (PANGO_CAIRO_FONT_MAP (map));
+ context = pango_font_map_create_context (map);
if (xr_is_72dpi (cairo))
{
/* Pango seems to always scale fonts according to the DPI specified
struct string_map *o, enum xr_output_type file_type)
{
enum { MIN_WIDTH = 3, MIN_LENGTH = 3 };
- struct output_driver *d;
struct xr_driver *xr;
cairo_surface_t *surface;
cairo_status_t status;
double width_pt, length_pt;
xr = xr_allocate (file_name, device_type, o);
- d = &xr->driver;
width_pt = (xr->width + xr->left_margin + xr->right_margin) / 1000.0;
length_pt = (xr->length + xr->top_margin + xr->bottom_margin) / 1000.0;
xr_draw_cell (xr, &cell, bb, bb);
}
\f
-struct output_driver_factory pdf_driver_factory = { "pdf", xr_pdf_create };
-struct output_driver_factory ps_driver_factory = { "ps", xr_ps_create };
-struct output_driver_factory svg_driver_factory = { "svg", xr_svg_create };
+struct output_driver_factory pdf_driver_factory =
+ { "pdf", "pspp.pdf", xr_pdf_create };
+struct output_driver_factory ps_driver_factory =
+ { "ps", "pspp.ps", xr_ps_create };
+struct output_driver_factory svg_driver_factory =
+ { "svg", "pspp.svg", xr_svg_create };
static const struct output_driver_class cairo_driver_class =
{
xrchart_draw_roc (chart_item, cr, &geom);
else if (is_scree (chart_item))
xrchart_draw_scree (chart_item, cr, &geom);
+ else if (is_spreadlevel_plot_chart (chart_item))
+ xrchart_draw_spreadlevel (chart_item, cr, &geom);
else
NOT_REACHED ();
xrchart_geometry_free (cr, &geom);