20#include "../../plugin/core/tcl_context.h"
43extern void *GDHandleTable;
47extern int graphcmd(ClientData clientData, Tcl_Interp * interp,
int argc,
const char *argv[]);
48extern int nodecmd(ClientData clientData, Tcl_Interp * interp,
int argc,
const char *argv[]);
49extern int edgecmd(ClientData clientData, Tcl_Interp * interp,
int argc,
const char *argv[]);
Tcl_AppInitProc Gdtclft_Init
static double len(glCompPoint p)
Graphviz context library.
static gvloadimage_engine_t engine
object ID allocator discipline
void tcldot_layout(GVC_t *gvc, Agraph_t *g, const char *engine)
void setgraphattributes(Agraph_t *g, char *argv[], int argc)
void listNodeAttrs(Tcl_Interp *interp, Agraph_t *g)
void listGraphAttrs(Tcl_Interp *interp, Agraph_t *g)
void deleteEdge(gctx_t *gctx, Agraph_t *g, Agedge_t *e)
int graphcmd(ClientData clientData, Tcl_Interp *interp, int argc, const char *argv[])
void deleteNode(gctx_t *gctx, Agraph_t *g, Agnode_t *n)
size_t Tcldot_channel_writer(GVJ_t *job, const char *s, size_t len)
char * obj2cmd(void *obj)
Agraph_t * cmd2g(const char *cmd)
void deleteGraph(gctx_t *gctx, Agraph_t *g)
size_t Tcldot_string_writer(GVJ_t *job, const char *s, size_t len)
void listEdgeAttrs(Tcl_Interp *interp, Agraph_t *g)
Agedge_t * cmd2e(const char *cmd)
void setnodeattributes(Agraph_t *g, Agnode_t *n, char *argv[], int argc)
int myiodisc_memiofread(void *chan, char *buf, int bufsize)
void setedgeattributes(Agraph_t *g, Agedge_t *e, char *argv[], int argc)
int myiodisc_afread(void *channel, char *ubuf, int n)
int edgecmd(ClientData clientData, Tcl_Interp *interp, int argc, const char *argv[])
void tcldot_argv_free(int argc, char *argv[])
free the strings pointed to by argv
char ** tcldot_argv_dup(int argc, const char *argv[])
duplicate the strings pointed to by argv as non-const strings
int nodecmd(ClientData clientData, Tcl_Interp *interp, int argc, const char *argv[])
Agnode_t * cmd2n(const char *cmd)