static char *sdasharray = "5,2";
/* SVG dot array */
static char *sdotarray = "1,5";
+static int gradId;
+static int anchorId;
#ifndef HAVE_STRCASECMP
extern int strcasecmp(const char *s1, const char *s2);
{
obj_state_t *obj = job->obj;
+ anchorId = gradId = 0;
gvputs(job, "<!--");
if (agnameof(obj->u.g)[0]) {
gvputs(job, " Title: ");
gvputs(job, "</g>\n");
}
+#if UNSUPPORTED
+/* svg_begin_page:
+ * Currently, svg output does not support pages.
+ * FIX: If implemented, we must guarantee the id is unique.
+ */
static void svg_begin_page(GVJ_t * job)
{
obj_state_t *obj = job->obj;
{
gvputs(job, "</g>\n");
}
+#endif
static void svg_begin_cluster(GVJ_t * job)
{
gvputs(job, "<g id=\"");
gvputs(job, xml_string(obj->id));
+ if (job->layerNum > 1)
+ gvprintf (job, "_%s", xml_string(job->gvc->layerIDs[job->layerNum]));
gvputs(job, "\" class=\"node\">");
gvputs(job, "<title>");
gvputs(job, xml_string(agnameof(obj->u.n)));
{
gvputs(job, "<g");
if (id) {
- gvputs(job, " id=\"");
+ gvprintf(job, " id=\"a%d_", anchorId++);
gvputs(job, xml_string(id));
gvputs(job, "\"");
}
gvputs(job, "</text>\n");
}
-static int gradId;
-
/* svg_gradstyle
* Outputs the SVG statements that define the gradient pattern
*/
svg_end_graph,
svg_begin_layer,
svg_end_layer,
- svg_begin_page,
- svg_end_page,
+ 0, /* svg_begin_page */
+ 0, /* svg_end_page */
svg_begin_cluster,
svg_end_cluster,
0, /* svg_begin_nodes */