- fputs ("</HEAD>\n", html->file);
- fputs ("<BODY BGCOLOR=\"#ffffff\" TEXT=\"#000000\"\n", html->file);
- fputs (" LINK=\"#1f00ff\" ALINK=\"#ff0000\" VLINK=\"#9900dd\">\n", html->file);
+ fputs ("</head>\n", html->file);
+ fputs ("<body>\n", html->file);
+}
+
+static struct output_driver *
+html_create (struct file_handle *fh, enum settings_output_devices device_type,
+ struct string_map *o)
+{
+ struct output_driver *d;
+ struct html_driver *html;
+
+ html = xzalloc (sizeof *html);
+ d = &html->driver;
+ output_driver_init (&html->driver, &html_driver_class, fh_get_file_name (fh),
+ device_type);
+ html->bare = parse_boolean (opt (d, o, "bare", "false"));
+ html->css = parse_boolean (opt (d, o, "css", "true"));
+ html->borders = parse_boolean (opt (d, o, "borders", "true"));
+
+ html->handle = fh;
+ html->chart_file_name = parse_chart_file_name (opt (d, o, "charts",
+ fh_get_file_name (fh)));
+ html->file = NULL;
+ html->chart_cnt = 1;
+#ifdef HAVE_CAIRO
+ html->bg = parse_color (opt (d, o, "background-color", "#FFFFFFFFFFFF"));
+ html->fg = parse_color (opt (d, o, "foreground-color", "#000000000000"));
+#endif
+ html->file = fn_open (html->handle, "w");
+ if (html->file == NULL)
+ {
+ msg_error (errno, _("error opening output file `%s'"), fh_get_file_name (html->handle));
+ goto error;
+ }
+
+ if (!html->bare)
+ put_header (html);