)
LIBADD="$cgraph_tmp_LIBADD"
CFLAGS="$cgraph_tmp_CFLAGS"
+ PKG_CHECK_MODULES(LIBGVC13, [libgvc >= 13.0.0], [
+ VALAFLAGS="$VALAFLAGS -D DLIBGVC_13_0_0"
+ CFLAGS="$CFLAGS -DLIBGVC_13_0_0"
+ ], [1])
fi
AM_CONDITIONAL(HAVE_CGRAPH, test "$have_cgraph" = "yes")
AM_CONDITIONAL(ENABLE_VALADOC, test x$enable_valadoc = xyes)
[CCode (cname = "valadoc_compat_gvc_init")]
extern void valadoc_gvc_init ();
+[CCode (cname = "valadoc_compat_gvc_context_render_data")]
+extern int valadoc_gvc_context_render_data (Gvc.Context context, Gvc.Graph graph, [CCode (type = "char*")] string file_type, [CCode (array_length_type = "size_t", type = "char**")] out uint8[] output_data);
+
public class Valadoc.Charts.Chart : Api.Visitor {
protected Gvc.Context context;
protected Gvc.Graph graph;
uint8[]? data;
/* This will return null in data if it fails. */
- context.render_data (graph, file_type, out data);
+ valadoc_gvc_context_render_data (context, graph, file_type, out data);
return data;
}
Agedge_t*
valadoc_compat_gvc_graph_create_edge (Agraph_t* graph, Agnode_t* from, Agnode_t* to);
+int
+valadoc_compat_gvc_context_render_data (GVC_t *gvc, graph_t *g, const char *format, char **result, size_t *length);
+
void
valadoc_compat_gvc_init (void)
{
return agedge (graph, from, to);
#endif
}
+
+/* Compat-layer for API breaks in Graphviz */
+
+int
+valadoc_compat_gvc_context_render_data (GVC_t *gvc, graph_t *g, const char *format, char **result, size_t *length)
+{
+#ifdef LIBGVC_13_0_0
+ return gvRenderData (gvc, g, format, result, length);
+#else
+ unsigned int _length;
+ int res;
+ res = gvRenderData (gvc, g, format, result, &_length);
+ *length = (size_t) _length;
+ return res;
+#endif
+}
public int render_jobs (Graph graph);
[CCode (cname = "gvRenderData")]
+#if LIBGVC_13_0_0
+ public int render_data (Graph graph, [CCode (type = "char*")] string file_type, [CCode (array_length_type = "size_t", type = "char**")] out uint8[] output_data);
+#else
public int render_data (Graph graph, [CCode (type = "char*")] string file_type, [CCode (array_length_type = "unsigned int", type = "char**")] out uint8[] output_data);
+#endif
}
[Compact]