Esempio n. 1
0
void
persistent_write_map (url file, hashmap<string,string> map) {
  string s;
  iterator<string> it= iterate (map);
  while (it->busy ()) {
    string key= it->next ();
    write_escaped (s, key);
    s << '\n';
    write_escaped (s, map[key]);
    s << '\n';
  }
  save_string (file, s, false);
}
Esempio n. 2
0
static void svg_text(double x, double y, const char *str, double rot,
                     double hadj, const pGEcontext gc, pDevDesc dd) {
    SVGDesc *svgd = (SVGDesc*) dd->deviceSpecific;


    fputs("<text", svgd->file);
    if (rot == 0) {
        write_attr_dbl(svgd->file, "x", x);
        write_attr_dbl(svgd->file, "y", y);
    } else {
        fprintf(svgd->file, " transform='translate(%.2f,%.2f) rotate(%0.0f)'", x, y,
                -1.0 * rot);
    }

    write_attr_dbl(svgd->file, "font-size", gc->cex * gc->ps);
    if (is_bold(gc->fontface))
        write_attr_str(svgd->file, "font-weight", "bold");
    if (is_italic(gc->fontface))
        write_attr_str(svgd->file, "font-style", "italic");
    if (gc->col != -16777216) // black
        write_attr_col(svgd->file, "fill", gc->col);

    std::string font = fontname(gc->fontfamily);
    write_attr_str(svgd->file, "font-family", font.c_str());

    fputs(">", svgd->file);

    write_escaped(svgd->file, str);

    fputs("</text>\n", svgd->file);
}
Esempio n. 3
0
static gboolean
write_attribute_string (GDataOutputStream *stream,
                        const char        *elt_name,
                        const char        *str,
                        GError           **error)
{
  gboolean ret = FALSE;
  char *elt;

  elt = g_strdup_printf (" %s=\"", elt_name);
  ret = g_data_output_stream_put_string (stream, elt, NULL, error);
  g_free (elt);
  if (!ret)
    goto out;

  ret = write_escaped (stream, str, error);
  if (!ret)
    goto out;

  ret = g_data_output_stream_put_string (stream, "\"", NULL, error);

out:
  return ret;
}