/misc/src/release/graphviz-2.18-1/src/graphviz-2.18/lib/common/emit.c File Reference

#include <string.h>
#include <ctype.h>
#include "render.h"
#include "agxbuf.h"
#include "htmltable.h"

Include dependency graph for emit.c:

Go to the source code of this file.

Data Structures

struct  segitem_s

Defines

#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 HW   2.0
#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 SEP   2.0
#define SID   1
#define FUNLIMIT   64

Typedefs

typedef segitem_s segitem_t

Functions

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, void *gobj)
void emit_map_rect (GVJ_t *job, point LL, point UR)
void emit_background (GVJ_t *job, graph_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)
int gvRenderJobs (GVC_t *gvc, graph_t *g)

Variables

gvevent_key_binding_t gvevent_key_binding []
int gvevent_key_binding_size
gvdevice_callbacks_t gvdevice_callbacks


Define Documentation

#define EPSILON   .0001

Definition at line 33 of file emit.c.

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

Definition at line 307 of file emit.c.

#define FUNLIMIT   64

Definition at line 2529 of file emit.c.

Referenced by parse_style().

#define FUZZ   3

Definition at line 32 of file emit.c.

#define HW   2.0

Definition at line 272 of file emit.c.

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

Definition at line 308 of file emit.c.

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

Definition at line 306 of file emit.c.

#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)

Definition at line 31 of file emit.c.

#define SEP   2.0

#define SID   1

Definition at line 2500 of file emit.c.


Typedef Documentation

typedef struct segitem_s segitem_t


Function Documentation

void emit_background ( GVJ_t job,
graph_t g 
)

Definition at line 763 of file emit.c.

References agget(), GVJ_s::clip, GVJ_s::flags, gvrender_box(), GVRENDER_NO_BG, gvrender_set_fillcolor(), gvrender_set_pencolor(), and TRUE.

void emit_clusters ( GVJ_t job,
Agraph_t g,
int  flags 
)

Definition at line 2359 of file emit.c.

References agfstnode(), agfstout(), agget(), agnxtnode(), agnxtout(), agxget(), DEFAULT_ACTIVEFILLCOLOR, DEFAULT_ACTIVEPENCOLOR, DEFAULT_COLOR, DEFAULT_DELETEDFILLCOLOR, DEFAULT_DELETEDPENCOLOR, DEFAULT_FILL, DEFAULT_SELECTEDFILLCOLOR, DEFAULT_SELECTEDPENCOLOR, DEFAULT_VISITEDFILLCOLOR, DEFAULT_VISITEDPENCOLOR, EMIT_CLABEL, emit_clusters(), emit_label(), emit_map_rect(), obj_state_s::explicit_tooltip, FALSE, FILLED, G_activefillcolor, G_activepencolor, G_deletedfillcolor, G_deletedpencolor, G_penwidth, G_peripheries, G_visitedfillcolor, G_visitedpencolor, GD_bb, GD_clust, GD_gui_state, GD_label, GD_n_cluster, gvrender_begin_anchor(), gvrender_begin_context(), gvrender_box(), gvrender_end_anchor(), gvrender_end_context(), gvrender_set_fillcolor(), gvrender_set_pencolor(), gvrender_set_penwidth(), gvrender_set_style(), Agsym_t::index, late_double(), late_int(), late_nnstring(), boxf::LL, round_corners(), ROUNDED, setColorScheme(), obj_state_s::target, obj_state_s::tooltip, TRUE, boxf::UR, obj_state_s::url, pointf_s::x, and pointf_s::y.

Referenced by emit_clusters().

void emit_graph ( GVJ_t job,
graph_t g 
)

Definition at line 2214 of file emit.c.

References agfindattr(), agfstnode(), agnxtnode(), GVJ_s::devscale, GVJ_s::dpi, EMIT_COLORS, GVJ_s::flags, gvrender_begin_layer(), gvrender_comment(), gvrender_end_layer(), GVRENDER_Y_GOES_DOWN, GVJ_s::height, late_string(), ND_state, GVJ_s::rotation, GVJ_s::scale, GVJ_s::view, GVJ_s::width, pointf_s::x, pointf_s::y, Y_invert, and GVJ_s::zoom.

Referenced by gvRenderJobs().

void emit_map_rect ( GVJ_t job,
point  LL,
point  UR 
)

Definition at line 168 of file emit.c.

References GVJ_s::flags, free(), GVRENDER_DOES_MAPS, GVRENDER_DOES_TOOLTIPS, gvrender_ptf_A(), MAP_POLYGON, MAP_RECTANGLE, N_NEW, GVJ_s::obj, P2PF, rect2poly(), obj_state_s::url_map_n, obj_state_s::url_map_p, and obj_state_s::url_map_shape.

Referenced by emit_clusters().

int emit_once ( char *  str  ) 

Definition at line 2284 of file emit.c.

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

void emit_once_reset ( void   ) 

Definition at line 2295 of file emit.c.

References dtclose().

Referenced by gvFreeContext().

int gvRenderJobs ( GVC_t gvc,
graph_t g 
)

Definition at line 2710 of file emit.c.

References GVC_s::active_jobs, agerr(), AGERR, GVJ_s::callbacks, GVJ_s::common, GVC_s::common, DIA, emit_graph(), GVJ_s::flags, GD_drawing, GVJ_s::graph_index, GVG_s::graph_index, GVDEVICE_BINARY_FORMAT, gvdevice_callbacks, GVDEVICE_DOES_PAGES, GVDEVICE_EVENTS, gvevent_key_binding, GVC_s::gvg, gvjobs_first(), gvjobs_next(), gvrender_begin_job(), gvrender_end_job(), gvrender_select(), GVJ_s::input_filename, GVG_s::input_filename, GVC_s::keybindings, GVC_s::layout, GVJ_s::layout_type, GVJ_s::next_active, NO_SUPPORT, NULL, GVC_s::numkeys, GVJ_s::output_file, GVJ_s::output_lang, GVJ_s::output_langname, GVCOMMON_s::show_boxes, Show_boxes, gvplugin_active_layout_s::type, GVCOMMON_s::viewNum, and VTX.

Referenced by gvRender(), gvRenderData(), gvRenderFilename(), and main().

int initMapData ( GVJ_t job,
char *  lbl,
char *  url,
char *  tooltip,
char *  target,
void *  gobj 
)

Definition at line 97 of file emit.c.

References obj_state_s::explicit_tooltip, GVJ_s::flags, GVRENDER_DOES_LABELS, GVRENDER_DOES_MAPS, GVRENDER_DOES_TARGETS, GVRENDER_DOES_TOOLTIPS, obj_state_s::label, GVJ_s::obj, strdup_and_subst_obj(), obj_state_s::target, obj_state_s::tooltip, TRUE, and obj_state_s::url.

char** parse_style ( char *  s  ) 

Definition at line 2546 of file emit.c.

References agerr(), AGERR, AGWARN, agxbfree(), agxbinit(), agxbnext, agxbput(), agxbputc, agxbuse, FALSE, FUNLIMIT, SMALLBUF, and TRUE.

void pop_obj_state ( GVJ_t job  ) 

Definition at line 65 of file emit.c.

References assert, free(), obj_state_s::headtarget, obj_state_s::headtooltip, obj_state_s::headurl, obj_state_s::labeltarget, obj_state_s::labeltooltip, obj_state_s::labelurl, GVJ_s::obj, obj_state_s::parent, obj_state_s::tailtarget, obj_state_s::tailtooltip, obj_state_s::tailurl, obj_state_s::target, obj_state_s::tooltip, obj_state_s::url, obj_state_s::url_bsplinemap_n, obj_state_s::url_bsplinemap_p, and obj_state_s::url_map_p.

obj_state_t* push_obj_state ( GVJ_t job  ) 

Definition at line 38 of file emit.c.

References agerr(), AGERR, obj_state_s::fill, FILL_NONE, obj_state_s::fillcolor, GVJ_s::obj, parent, obj_state_s::parent, obj_state_s::pen, PEN_SOLID, obj_state_s::pencolor, obj_state_s::penwidth, PENWIDTH_NORMAL, and zmalloc().


Variable Documentation

gvdevice_callbacks_t gvdevice_callbacks

Definition at line 640 of file gvevent.c.

Referenced by gvRenderJobs().

gvevent_key_binding_t gvevent_key_binding[]

Definition at line 621 of file gvevent.c.

Referenced by gvRenderJobs().

int gvevent_key_binding_size

Definition at line 638 of file gvevent.c.


Generated on Mon Mar 31 19:04:26 2008 for Graphviz by  doxygen 1.5.1