Graphviz 13.0.0~dev.20250424.1043
|
#include "../tcl-compat.h"
#include <math.h>
#include <stddef.h>
#include "tcldot.h"
#include <gvc/gvc.h>
#include <util/alloc.h>
#include <util/strcasecmp.h>
#include <util/unreachable.h>
Go to the source code of this file.
Functions | |
size_t | Tcldot_string_writer (GVJ_t *job, const char *s, size_t len) |
size_t | Tcldot_channel_writer (GVJ_t *job, const char *s, size_t len) |
Agraph_t * | cmd2g (const char *cmd) |
Agnode_t * | cmd2n (const char *cmd) |
Agedge_t * | cmd2e (const char *cmd) |
char * | obj2cmd (void *obj) |
void | deleteEdge (gctx_t *gctx, Agraph_t *g, Agedge_t *e) |
static void | deleteNodeEdges (gctx_t *gctx, Agraph_t *g, Agnode_t *n) |
void | deleteNode (gctx_t *gctx, Agraph_t *g, Agnode_t *n) |
static void | deleteGraphNodes (gctx_t *gctx, Agraph_t *g) |
void | deleteGraph (gctx_t *gctx, Agraph_t *g) |
static void | myagxset (void *obj, Agsym_t *a, const char *val) |
void | setgraphattributes (Agraph_t *g, char *argv[], Tcl_Size argc) |
void | setedgeattributes (Agraph_t *g, Agedge_t *e, char *argv[], Tcl_Size argc) |
void | setnodeattributes (Agraph_t *g, Agnode_t *n, char *argv[], Tcl_Size argc) |
void | listGraphAttrs (Tcl_Interp *interp, Agraph_t *g) |
void | listNodeAttrs (Tcl_Interp *interp, Agraph_t *g) |
void | listEdgeAttrs (Tcl_Interp *interp, Agraph_t *g) |
void | tcldot_layout (GVC_t *gvc, Agraph_t *g, const char *engine) |
char ** | tcldot_argv_dup (int argc, const char *argv[]) |
duplicate the strings pointed to by argv as non-const strings | |
void | tcldot_argv_free (int argc, char *argv[]) |
free the strings pointed to by argv | |
Agedge_t * cmd2e | ( | const char * | cmd | ) |
Definition at line 53 of file tcldot-util.c.
Referenced by edgecmd_internal().
Agraph_t * cmd2g | ( | const char * | cmd | ) |
Definition at line 39 of file tcldot-util.c.
Referenced by graphcmd_internal().
Agnode_t * cmd2n | ( | const char * | cmd | ) |
Definition at line 46 of file tcldot-util.c.
Referenced by graphcmd_internal(), and nodecmd_internal().
Definition at line 78 of file tcldot-util.c.
References agdelete(), gctx_t::g, gctx_t::ictx, ictx_t::interp, and obj2cmd().
Referenced by deleteNodeEdges(), and edgecmd_internal().
Definition at line 122 of file tcldot-util.c.
References agclose(), agdelsubg(), agfstsubg(), agnxtsubg(), agroot(), deleteGraph(), deleteGraphNodes(), gctx_t::ictx, ictx_t::interp, and obj2cmd().
Referenced by deleteGraph(), and graphcmd_internal().
Definition at line 111 of file tcldot-util.c.
References agfstnode(), agnxtnode(), and deleteNode().
Referenced by deleteGraph().
Definition at line 99 of file tcldot-util.c.
References agdelete(), deleteNodeEdges(), gctx_t::g, gctx_t::ictx, ictx_t::interp, and obj2cmd().
Referenced by deleteGraphNodes(), and nodecmd_internal().
Definition at line 88 of file tcldot-util.c.
References agfstedge(), agnxtedge(), and deleteEdge().
Referenced by deleteNode().
void listEdgeAttrs | ( | Tcl_Interp * | interp, |
Agraph_t * | g | ||
) |
Definition at line 217 of file tcldot-util.c.
References AGEDGE, agnxtattr(), Agsym_s::name, and NULL.
Referenced by edgecmd_internal(), and graphcmd_internal().
void listGraphAttrs | ( | Tcl_Interp * | interp, |
Agraph_t * | g | ||
) |
Definition at line 203 of file tcldot-util.c.
References agnxtattr(), AGRAPH, Agsym_s::name, and NULL.
Referenced by graphcmd_internal().
void listNodeAttrs | ( | Tcl_Interp * | interp, |
Agraph_t * | g | ||
) |
Definition at line 210 of file tcldot-util.c.
References AGNODE, agnxtattr(), Agsym_s::name, and NULL.
Referenced by graphcmd_internal(), and nodecmd_internal().
|
static |
Definition at line 141 of file tcldot-util.c.
References agraphof(), agstrdup_html(), agxset(), free(), len(), and Agsym_s::name.
Referenced by setedgeattributes(), setgraphattributes(), and setnodeattributes().
char * obj2cmd | ( | void * | obj | ) |
Definition at line 64 of file tcldot-util.c.
References AGINEDGE, AGNODE, AGOUTEDGE, AGRAPH, AGTYPE, and UNREACHABLE.
Referenced by deleteEdge(), deleteGraph(), deleteNode(), dotnew_internal(), dotread(), dotstring(), edgecmd_internal(), graphcmd_internal(), myiddisc_idregister(), and nodecmd_internal().
Definition at line 166 of file tcldot-util.c.
References agattr_text(), AGEDGE, agfindedgeattr, agroot(), myagxset(), and Tcl_Size.
Referenced by edgecmd_internal(), graphcmd_internal(), and nodecmd_internal().
Definition at line 156 of file tcldot-util.c.
References agattr_text(), agfindgraphattr, AGRAPH, agroot(), myagxset(), and Tcl_Size.
Referenced by dotnew_internal(), and graphcmd_internal().
Definition at line 187 of file tcldot-util.c.
References agattr_text(), agfindnodeattr, AGNODE, agroot(), myagxset(), and Tcl_Size.
Referenced by graphcmd_internal(), and nodecmd_internal().
char ** tcldot_argv_dup | ( | int | argc, |
const char * | argv[] | ||
) |
Definition at line 246 of file tcldot-util.c.
References gv_calloc(), and gv_strdup().
Referenced by dotnew(), edgecmd(), edgecmd_internal(), graphcmd(), graphcmd_internal(), nodecmd(), and nodecmd_internal().
void tcldot_argv_free | ( | int | argc, |
char * | argv[] | ||
) |
Definition at line 255 of file tcldot-util.c.
References free().
Referenced by dotnew(), edgecmd(), edgecmd_internal(), graphcmd(), graphcmd_internal(), nodecmd(), and nodecmd_internal().
size_t Tcldot_channel_writer | ( | GVJ_t * | job, |
const char * | s, | ||
size_t | len | ||
) |
Definition at line 27 of file tcldot-util.c.
References len(), GVJ_s::output_file, Tcl_Size, and TCL_SIZE_MAX.
Referenced by graphcmd_internal().
Definition at line 225 of file tcldot-util.c.
References agisdirected(), engine, gvc, gvFreeLayout(), gvLayout(), Nop, POINTS_PER_INCH, and PSinputscale.
Referenced by graphcmd_internal().
size_t Tcldot_string_writer | ( | GVJ_t * | job, |
const char * | s, | ||
size_t | len | ||
) |
Definition at line 20 of file tcldot-util.c.
References GVJ_s::context, tcldot_context_t::interp, len(), and NULL.
Referenced by graphcmd_internal().