Graphviz 12.0.1~dev.20240716.0800
Loading...
Searching...
No Matches
tcldot.h File Reference
#include <tcl.h>
#include <common/render.h>
#include <gvc/gvc.h>
#include <gvc/gvio.h>
#include "tclhandle.h"
#include "../../plugin/core/tcl_context.h"
Include dependency graph for tcldot.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ictx_t
 
struct  gctx_t
 

Macros

#define USE_NON_CONST
 
#define CONST84
 

Functions

int graphcmd (ClientData clientData, Tcl_Interp *interp, int argc, char *argv[])
 
int nodecmd (ClientData clientData, Tcl_Interp *interp, int argc, char *argv[])
 
int edgecmd (ClientData clientData, Tcl_Interp *interp, int argc, char *argv[])
 
int myiodisc_afread (void *channel, char *ubuf, int n)
 
int myiodisc_memiofread (void *chan, char *buf, int bufsize)
 
Agraph_tagread_usergets (ictx_t *ictx, FILE *fp, int(*usergets)(void *chan, char *buf, int bufsize))
 
Agraph_tcmd2g (char *cmd)
 
Agnode_tcmd2n (char *cmd)
 
Agedge_tcmd2e (char *cmd)
 
char * obj2cmd (void *obj)
 
void deleteEdge (gctx_t *gctx, Agraph_t *g, Agedge_t *e)
 
void deleteNode (gctx_t *gctx, Agraph_t *g, Agnode_t *n)
 
void deleteGraph (gctx_t *gctx, Agraph_t *g)
 
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 setgraphattributes (Agraph_t *g, char *argv[], int argc)
 
void setedgeattributes (Agraph_t *g, Agedge_t *e, char *argv[], int argc)
 
void setnodeattributes (Agraph_t *g, Agnode_t *n, char *argv[], int argc)
 
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)
 
void tcldot_layout (GVC_t *gvc, Agraph_t *g, char *engine)
 

Variables

Agiddisc_t myiddisc
 

Macro Definition Documentation

◆ CONST84

#define CONST84

Definition at line 23 of file tcldot.h.

◆ USE_NON_CONST

#define USE_NON_CONST

Definition at line 14 of file tcldot.h.

Function Documentation

◆ agread_usergets()

Agraph_t * agread_usergets ( ictx_t ictx,
FILE *  fp,
int(*)(void *chan, char *buf, int bufsize)  usergets 
)
extern

◆ cmd2e()

Agedge_t * cmd2e ( char *  cmd)
extern

Definition at line 54 of file tcldot-util.c.

References cmd, and NULL.

Referenced by edgecmd().

Here is the caller graph for this function:

◆ cmd2g()

Agraph_t * cmd2g ( char *  cmd)
extern

Definition at line 40 of file tcldot-util.c.

References cmd, and NULL.

Referenced by graphcmd().

Here is the caller graph for this function:

◆ cmd2n()

Agnode_t * cmd2n ( char *  cmd)
extern

Definition at line 47 of file tcldot-util.c.

References cmd, and NULL.

Referenced by graphcmd(), and nodecmd().

Here is the caller graph for this function:

◆ deleteEdge()

void deleteEdge ( gctx_t gctx,
Agraph_t g,
Agedge_t e 
)
extern

Definition at line 79 of file tcldot-util.c.

References agdelete(), gctx_t::g, gctx_t::ictx, ictx_t::interp, and obj2cmd().

Referenced by deleteNodeEdges(), and edgecmd().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ deleteGraph()

void deleteGraph ( gctx_t gctx,
Agraph_t g 
)
extern

Definition at line 123 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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ deleteNode()

void deleteNode ( gctx_t gctx,
Agraph_t g,
Agnode_t n 
)
extern

Definition at line 100 of file tcldot-util.c.

References agdelete(), deleteNodeEdges(), gctx_t::g, gctx_t::ictx, ictx_t::interp, and obj2cmd().

Referenced by deleteGraphNodes(), and nodecmd().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ edgecmd()

int edgecmd ( ClientData  clientData,
Tcl_Interp *  interp,
int  argc,
char *  argv[] 
)
extern

Definition at line 14 of file tcldot-edgecmd.c.

References agfindedgeattr, aghead, agisdirected(), agnameof(), agraphof(), agroot(), agtail, agxget(), cmd2e(), CONST84, deleteEdge(), listEdgeAttrs(), NULL, obj2cmd(), and setedgeattributes().

Referenced by myiddisc_idregister().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ graphcmd()

int graphcmd ( ClientData  clientData,
Tcl_Interp *  interp,
int  argc,
char *  argv[] 
)
extern

Definition at line 15 of file tcldot-graphcmd.c.

References agedge(), agfindedge, agfindedgeattr, agfindgraphattr, agfindnode, agfindnodeattr, agfstnode(), agfstout(), agfstsubg(), aggetrec(), aglstnode(), agnameof(), agnedges(), agnnodes(), agnode(), agnxtnode(), agnxtout(), agnxtsubg(), agprvnode(), agraphof(), agroot(), agsubg(), agxget(), tcldot_context_t::canvas, cmd2g(), cmd2n(), GVC_s::common, CONST84, deleteGraph(), gvc, ictx_t::gvc, gvRender(), gvRenderContext(), head, gctx_t::ictx, listEdgeAttrs(), listGraphAttrs(), listNodeAttrs(), NULL, obj2cmd(), setedgeattributes(), setgraphattributes(), setnodeattributes(), Tcldot_channel_writer(), tcldot_layout(), Tcldot_string_writer(), GVCOMMON_s::viewNum, and GVC_s::write_fn.

Referenced by myiddisc_idregister().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ listEdgeAttrs()

void listEdgeAttrs ( Tcl_Interp *  interp,
Agraph_t g 
)
extern

Definition at line 224 of file tcldot-util.c.

References AGEDGE, agnxtattr(), Agsym_s::name, and NULL.

Referenced by edgecmd(), and graphcmd().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ listGraphAttrs()

void listGraphAttrs ( Tcl_Interp *  interp,
Agraph_t g 
)
extern

Definition at line 210 of file tcldot-util.c.

References agnxtattr(), AGRAPH, Agsym_s::name, and NULL.

Referenced by graphcmd().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ listNodeAttrs()

void listNodeAttrs ( Tcl_Interp *  interp,
Agraph_t g 
)
extern

Definition at line 217 of file tcldot-util.c.

References AGNODE, agnxtattr(), Agsym_s::name, and NULL.

Referenced by graphcmd(), and nodecmd().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ myiodisc_afread()

int myiodisc_afread ( void *  channel,
char *  ubuf,
int  n 
)
extern

Definition at line 31 of file tcldot-io.c.

Referenced by dotread().

Here is the caller graph for this function:

◆ myiodisc_memiofread()

int myiodisc_memiofread ( void *  chan,
char *  buf,
int  bufsize 
)
extern

Definition at line 88 of file tcldot-io.c.

Referenced by dotstring().

Here is the caller graph for this function:

◆ nodecmd()

int nodecmd ( ClientData  clientData,
Tcl_Interp *  interp,
int  argc,
char *  argv[] 
)
extern

Definition at line 14 of file tcldot-nodecmd.c.

References agedge(), agfindedge, agfindnode, agfindnodeattr, agfstedge(), agfstin(), agfstout(), agnameof(), agnxtedge(), agnxtin(), agnxtout(), agraphof(), agroot(), agxget(), cmd2n(), CONST84, deleteNode(), head, listNodeAttrs(), NULL, obj2cmd(), setedgeattributes(), and setnodeattributes().

Referenced by myiddisc_idregister().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ obj2cmd()

char * obj2cmd ( void *  obj)
extern

Definition at line 65 of file tcldot-util.c.

References AGINEDGE, AGNODE, AGOUTEDGE, AGRAPH, AGTYPE, and UNREACHABLE.

Referenced by deleteEdge(), deleteGraph(), deleteNode(), dotnew(), dotread(), dotstring(), edgecmd(), graphcmd(), myiddisc_idregister(), and nodecmd().

Here is the caller graph for this function:

◆ setedgeattributes()

void setedgeattributes ( Agraph_t g,
Agedge_t e,
char *  argv[],
int  argc 
)
extern

Definition at line 169 of file tcldot-util.c.

References agattr(), AGEDGE, agfindedgeattr, agroot(), and myagxset().

Referenced by edgecmd(), graphcmd(), and nodecmd().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setgraphattributes()

void setgraphattributes ( Agraph_t g,
char *  argv[],
int  argc 
)
extern

Definition at line 157 of file tcldot-util.c.

References agattr(), agfindgraphattr, AGRAPH, agroot(), and myagxset().

Referenced by dotnew(), and graphcmd().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setnodeattributes()

void setnodeattributes ( Agraph_t g,
Agnode_t n,
char *  argv[],
int  argc 
)
extern

Definition at line 192 of file tcldot-util.c.

References agattr(), agfindnodeattr, AGNODE, agroot(), and myagxset().

Referenced by graphcmd(), and nodecmd().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Tcldot_channel_writer()

size_t Tcldot_channel_writer ( GVJ_t job,
const char *  s,
size_t  len 
)
extern

Definition at line 26 of file tcldot-util.c.

References len(), and GVJ_s::output_file.

Referenced by graphcmd().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ tcldot_layout()

void tcldot_layout ( GVC_t gvc,
Agraph_t g,
char *  engine 
)
extern

Definition at line 232 of file tcldot-util.c.

References agisdirected(), engine, gvc, gvFreeLayout(), gvLayout(), Nop, POINTS_PER_INCH, and PSinputscale.

Referenced by graphcmd().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Tcldot_string_writer()

size_t Tcldot_string_writer ( GVJ_t job,
const char *  s,
size_t  len 
)
extern

Definition at line 19 of file tcldot-util.c.

References GVJ_s::context, tcldot_context_t::interp, len(), and NULL.

Referenced by graphcmd().

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ myiddisc

Agiddisc_t myiddisc
extern

Definition at line 100 of file tcldot-id.c.

Referenced by Tcldot_Init().