Graphviz  2.41.20170921.2350
Data Structures | Macros | Typedefs | Functions | Variables
emit.c File Reference
#include "config.h"
#include <string.h>
#include <ctype.h>
#include <locale.h>
#include "render.h"
#include "agxbuf.h"
#include "htmltable.h"
#include "gvc.h"
#include "cdt.h"
#include "xdot.h"
Include dependency graph for emit.c:

Go to the source code of this file.

Data Structures

struct  exdot_op
struct  colorseg_t
struct  colorsegs_t
struct  segitem_s


#define P2RECT(p, pr, sx, sy)   (pr[0].x = p.x - sx, pr[0].y = p.y - sy, pr[1].x = p.x + sx, pr[1].y = p.y + sy)
#define FUZZ   3
#define EPSILON   .0001
#define EPS   1E-5
#define AEQ0(x)   (((x) < EPS) && ((x) > -EPS))
#define THIN_LINE   0.5
#define HW   2.0 /* maximum distance away from line, in points */
#define MARK_FIRST_SEG(L)   ((L)->next = (segitem_t*)1)
#define FIRST_SEG(L)   ((L)->next == (segitem_t*)1)
#define INIT_SEG(P, L)   {(L)->next = 0; (L)->p = P;}
#define INITPTS   1000
#define SEP   2.0
#define NotFirstPage(j)   (((j)->layerNum>1)||((j)->pagesArrayElem.x > 0)||((j)->pagesArrayElem.x > 0))
#define SID   1
#define FUNLIMIT   64
#define FINISH()   if (Verbose) fprintf(stderr,"gvRenderJobs %s: %.2f secs.\n", agnameof(g), elapsed_sec())


typedef struct segitem_s segitem_t
typedef double(* radfunc_t )(double, double, double)


void * init_xdot (Agraph_t *g)
obj_state_tpush_obj_state (GVJ_t *job)
void pop_obj_state (GVJ_t *job)
int initMapData (GVJ_t *job, char *lbl, char *url, char *tooltip, char *target, char *id, void *gobj)
char * getObjId (GVJ_t *job, void *obj, agxbuf *xb)
int wedgedEllipse (GVJ_t *job, pointf *pf, char *clrs)
int stripedBox (GVJ_t *job, pointf *AF, char *clrs, int rotate)
void emit_map_rect (GVJ_t *job, boxf b)
void update_bb_bz (boxf *bb, pointf *cp)
boxf xdotBB (Agraph_t *g)
void emit_graph (GVJ_t *job, graph_t *g)
int emit_once (char *str)
void emit_once_reset (void)
void emit_clusters (GVJ_t *job, Agraph_t *g, int flags)
char ** parse_style (char *s)
void gv_fixLocale (int set)
int gvRenderJobs (GVC_t *gvc, graph_t *g)
boolean findStopColor (char *colorlist, char *clrs[2], float *frac)


gvevent_key_binding_t gvevent_key_binding []
int gvevent_key_binding_size
gvdevice_callbacks_t gvdevice_callbacks

Macro Definition Documentation

#define AEQ0 (   x)    (((x) < EPS) && ((x) > -EPS))

Definition at line 455 of file emit.c.

#define EPS   1E-5

Definition at line 454 of file emit.c.

#define EPSILON   .0001

Definition at line 36 of file emit.c.

#define FINISH ( )    if (Verbose) fprintf(stderr,"gvRenderJobs %s: %.2f secs.\n", agnameof(g), elapsed_sec())

Definition at line 4092 of file emit.c.

Referenced by gvRenderJobs().

#define FIRST_SEG (   L)    ((L)->next == (segitem_t*)1)

Definition at line 848 of file emit.c.

#define FUNLIMIT   64

Definition at line 3872 of file emit.c.

Referenced by parse_style().

#define FUZZ   3

Definition at line 35 of file emit.c.

#define HW   2.0 /* maximum distance away from line, in points */

Definition at line 775 of file emit.c.

#define INIT_SEG (   P,
)    {(L)->next = 0; (L)->p = P;}

Definition at line 849 of file emit.c.

#define INITPTS   1000

Definition at line 1475 of file emit.c.

#define MARK_FIRST_SEG (   L)    ((L)->next = (segitem_t*)1)

Definition at line 847 of file emit.c.

#define NotFirstPage (   j)    (((j)->layerNum>1)||((j)->pagesArrayElem.x > 0)||((j)->pagesArrayElem.x > 0))

Definition at line 3468 of file emit.c.

#define P2RECT (   p,
)    (pr[0].x = p.x - sx, pr[0].y = p.y - sy, pr[1].x = p.x + sx, pr[1].y = p.y + sy)

Definition at line 34 of file emit.c.

#define SEP   2.0
#define SID   1

Definition at line 3843 of file emit.c.

#define THIN_LINE   0.5

Definition at line 561 of file emit.c.

Referenced by stripedBox(), and wedgedEllipse().

Typedef Documentation

typedef double(* radfunc_t)(double, double, double)

Definition at line 2241 of file emit.c.

typedef struct segitem_s segitem_t

Function Documentation

void emit_clusters ( GVJ_t job,
Agraph_t g,
int  flags 
void emit_graph ( GVJ_t job,
graph_t g 
void emit_map_rect ( GVJ_t job,
boxf  b 
int emit_once ( char *  str)

Definition at line 3621 of file emit.c.

References dtinsert, dtopen(), Dtoset, dtsearch, FALSE, and TRUE.

Referenced by textspan_size().

void emit_once_reset ( void  )

Definition at line 3632 of file emit.c.

References dtclose().

Referenced by gvFreeContext().

boolean findStopColor ( char *  colorlist,
char *  clrs[2],
float *  frac 
char* getObjId ( GVJ_t job,
void *  obj,
agxbuf xb 

Definition at line 198 of file emit.c.

References AGEDGE, agget(), AGNODE, agobjkind(), AGRAPH, AGSEQ, agxbput(), agxbputc, agxbuse, GVC_s::g, GD_drawing, GVJ_s::gvc, and NULL.

void gv_fixLocale ( int  set)

Definition at line 4070 of file emit.c.

References NULL.

Referenced by attach_attrs_and_arrows(), gvLayoutJobs(), and gvRenderJobs().

int gvRenderJobs ( GVC_t gvc,
graph_t g 
void* init_xdot ( Agraph_t g)
int initMapData ( GVJ_t job,
char *  lbl,
char *  url,
char *  tooltip,
char *  target,
char *  id,
void *  gobj 
char** parse_style ( char *  s)
void pop_obj_state ( GVJ_t job)
obj_state_t* push_obj_state ( GVJ_t job)
int stripedBox ( GVJ_t job,
pointf AF,
char *  clrs,
int  rotate 
void update_bb_bz ( boxf bb,
pointf cp 

Definition at line 794 of file emit.c.

References Bezier(), left, boxf::LL, right, update_bb_bz(), boxf::UR, pointf_s::x, and pointf_s::y.

Referenced by clip_and_install(), and update_bb_bz().

int wedgedEllipse ( GVJ_t job,
pointf pf,
char *  clrs 
boxf xdotBB ( Agraph_t g)

Variable Documentation

gvdevice_callbacks_t gvdevice_callbacks

Definition at line 663 of file gvevent.c.

Referenced by gvRenderJobs().

gvevent_key_binding_t gvevent_key_binding[]

Definition at line 644 of file gvevent.c.

Referenced by gvRenderJobs().

int gvevent_key_binding_size

Definition at line 661 of file gvevent.c.

Referenced by gvRenderJobs().