/misc/src/release/graphviz-2.18-1/src/graphviz-2.18/lib/gvc/gvrender.c File Reference

#include <string.h>
#include "memory.h"
#include "const.h"
#include "macros.h"
#include "colorprocs.h"
#include "gvplugin_render.h"
#include "graph.h"
#include "gvcint.h"
#include "geom.h"
#include "geomprocs.h"
#include "gvcproc.h"

Include dependency graph for gvrender.c:

Go to the source code of this file.

Defines

#define REGULAR   0
#define BOLD   1
#define ITALIC   2

Functions

int emit_once (char *str)
shape_descfind_user_shape (char *name)
boolean mapbool (char *s)
int gvrender_select (GVJ_t *job, char *str)
int gvrender_features (GVJ_t *job)
void gvrender_begin_job (GVJ_t *job)
void gvrender_end_job (GVJ_t *job)
pointf gvrender_ptf (GVJ_t *job, pointf p)
pointfgvrender_ptf_A (GVJ_t *job, pointf *af, pointf *AF, int n)
void gvrender_begin_graph (GVJ_t *job, graph_t *g)
void gvrender_end_graph (GVJ_t *job)
void gvrender_begin_page (GVJ_t *job)
void gvrender_end_page (GVJ_t *job)
void gvrender_begin_layer (GVJ_t *job)
void gvrender_end_layer (GVJ_t *job)
void gvrender_begin_cluster (GVJ_t *job, graph_t *sg)
void gvrender_end_cluster (GVJ_t *job, graph_t *g)
void gvrender_begin_nodes (GVJ_t *job)
void gvrender_end_nodes (GVJ_t *job)
void gvrender_begin_edges (GVJ_t *job)
void gvrender_end_edges (GVJ_t *job)
void gvrender_begin_node (GVJ_t *job, node_t *n)
void gvrender_end_node (GVJ_t *job)
void gvrender_begin_edge (GVJ_t *job, edge_t *e)
void gvrender_end_edge (GVJ_t *job)
void gvrender_begin_context (GVJ_t *job)
void gvrender_end_context (GVJ_t *job)
void gvrender_begin_anchor (GVJ_t *job, char *href, char *tooltip, char *target)
void gvrender_end_anchor (GVJ_t *job)
void gvrender_set_font (GVJ_t *job, char *fontname, double fontsize)
void gvrender_textpara (GVJ_t *job, pointf p, textpara_t *para)
void gvrender_set_pencolor (GVJ_t *job, char *name)
void gvrender_set_fillcolor (GVJ_t *job, char *name)
void gvrender_set_style (GVJ_t *job, char **s)
void gvrender_ellipse (GVJ_t *job, pointf *pf, int n, boolean filled)
void gvrender_polygon (GVJ_t *job, pointf *af, int n, boolean filled)
void gvrender_box (GVJ_t *job, boxf B, boolean filled)
void gvrender_beziercurve (GVJ_t *job, pointf *af, int n, int arrow_at_start, int arrow_at_end, boolean filled)
void gvrender_polyline (GVJ_t *job, pointf *af, int n)
void gvrender_comment (GVJ_t *job, char *str)
void gvrender_usershape (GVJ_t *job, char *name, pointf *a, int n, boolean filled, char *imagescale)
void gvrender_set_penwidth (GVJ_t *job, double penwidth)


Define Documentation

#define BOLD   1

Definition at line 178 of file gvrender.c.

#define ITALIC   2

Definition at line 179 of file gvrender.c.

#define REGULAR   0

Definition at line 177 of file gvrender.c.


Function Documentation

int emit_once ( char *  str  ) 

Definition at line 2284 of file emit.c.

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

shape_desc* find_user_shape ( char *  name  ) 

Definition at line 2345 of file shapes.c.

void gvrender_begin_anchor ( GVJ_t job,
char *  href,
char *  tooltip,
char *  target 
)

Definition at line 589 of file gvrender.c.

References gvrender_engine_s::begin_anchor, gvplugin_active_render_s::engine, and GVJ_s::render.

Referenced by emit_clusters().

void gvrender_begin_cluster ( GVJ_t job,
graph_t sg 
)

Definition at line 387 of file gvrender.c.

References gvrender_engine_s::begin_cluster, gvplugin_active_render_s::engine, and GVJ_s::render.

void gvrender_begin_context ( GVJ_t job  ) 

Definition at line 567 of file gvrender.c.

References gvplugin_active_render_s::engine, and GVJ_s::render.

Referenced by arrow_newgen(), emit_clusters(), emit_html_label(), emit_label(), and round_corners().

void gvrender_begin_edge ( GVJ_t job,
edge_t e 
)

Definition at line 531 of file gvrender.c.

References gvrender_engine_s::begin_edge, gvplugin_active_render_s::engine, and GVJ_s::render.

void gvrender_begin_edges ( GVJ_t job  ) 

Definition at line 459 of file gvrender.c.

References gvrender_engine_s::begin_edges, gvplugin_active_render_s::engine, and GVJ_s::render.

void gvrender_begin_graph ( GVJ_t job,
graph_t g 
)

Definition at line 261 of file gvrender.c.

References agget(), gvrender_engine_s::begin_graph, GVC_s::bgcolor, GVJ_s::canvasBox, gvplugin_active_render_s::engine, GVJ_s::gvc, GVC_s::pb, GVJ_s::render, and gvrender_engine_s::resolve_color.

void gvrender_begin_job ( GVJ_t job  ) 

Definition at line 132 of file gvrender.c.

References gvrender_engine_s::begin_job, GVC_s::common, gvplugin_active_render_s::engine, GVC_s::g, GVJ_s::gvc, gvdevice_initialize(), GVCOMMON_s::info, GVCOMMON_s::lib, GVJ_s::output_file, GVJ_s::pagesArraySize, GVJ_s::render, and GVCOMMON_s::user.

Referenced by gvRenderJobs().

void gvrender_begin_layer ( GVJ_t job  ) 

Definition at line 351 of file gvrender.c.

References gvrender_engine_s::begin_layer, gvplugin_active_render_s::engine, GVJ_s::gvc, GVC_s::layerIDs, GVJ_s::layerNum, GVJ_s::numLayers, and GVJ_s::render.

Referenced by emit_graph().

void gvrender_begin_node ( GVJ_t job,
node_t n 
)

Definition at line 495 of file gvrender.c.

References gvrender_engine_s::begin_node, gvplugin_active_render_s::engine, and GVJ_s::render.

void gvrender_begin_nodes ( GVJ_t job  ) 

Definition at line 423 of file gvrender.c.

References gvrender_engine_s::begin_nodes, gvplugin_active_render_s::engine, and GVJ_s::render.

void gvrender_begin_page ( GVJ_t job  ) 

Definition at line 312 of file gvrender.c.

References gvrender_engine_s::begin_page, gvplugin_active_render_s::engine, GVC_s::g, GVJ_s::gvc, GVJ_s::pageOffset, GVJ_s::pagesArrayElem, PF2P, GVJ_s::render, GVJ_s::rotation, and GVJ_s::zoom.

void gvrender_beziercurve ( GVJ_t job,
pointf af,
int  n,
int  arrow_at_start,
int  arrow_at_end,
boolean  filled 
)

Definition at line 844 of file gvrender.c.

References gvrender_engine_s::beziercurve, gvplugin_active_render_s::engine, GVJ_s::flags, grealloc(), GVRENDER_DOES_TRANSFORM, gvrender_ptf_A(), GVJ_s::obj, obj_state_s::pen, PEN_NONE, PF2P, and GVJ_s::render.

Referenced by round_corners().

void gvrender_box ( GVJ_t job,
boxf  B,
boolean  filled 
)

Definition at line 830 of file gvrender.c.

References gvrender_polygon(), boxf::LL, boxf::UR, pointf_s::x, and pointf_s::y.

Referenced by emit_background(), and emit_clusters().

void gvrender_comment ( GVJ_t job,
char *  str 
)

Definition at line 915 of file gvrender.c.

References gvrender_engine_s::comment, gvplugin_active_render_s::engine, and GVJ_s::render.

Referenced by emit_graph().

void gvrender_ellipse ( GVJ_t job,
pointf pf,
int  n,
boolean  filled 
)

Definition at line 753 of file gvrender.c.

References gvrender_engine_s::ellipse, gvplugin_active_render_s::engine, GVJ_s::flags, GVRENDER_DOES_TRANSFORM, gvrender_ptf_A(), GVJ_s::obj, obj_state_s::pen, PEN_NONE, PF2P, GVJ_s::render, point::x, pointf_s::x, point::y, and pointf_s::y.

void gvrender_end_anchor ( GVJ_t job  ) 

Definition at line 607 of file gvrender.c.

References gvrender_engine_s::end_anchor, gvplugin_active_render_s::engine, and GVJ_s::render.

Referenced by emit_clusters().

void gvrender_end_cluster ( GVJ_t job,
graph_t g 
)

Definition at line 405 of file gvrender.c.

References gvrender_engine_s::end_cluster, gvplugin_active_render_s::engine, and GVJ_s::render.

void gvrender_end_context ( GVJ_t job  ) 

Definition at line 578 of file gvrender.c.

References gvplugin_active_render_s::engine, and GVJ_s::render.

Referenced by arrow_newgen(), emit_clusters(), emit_html_label(), and round_corners().

void gvrender_end_edge ( GVJ_t job  ) 

Definition at line 549 of file gvrender.c.

References gvrender_engine_s::end_edge, gvplugin_active_render_s::engine, and GVJ_s::render.

void gvrender_end_edges ( GVJ_t job  ) 

Definition at line 477 of file gvrender.c.

References gvrender_engine_s::end_edges, gvplugin_active_render_s::engine, and GVJ_s::render.

void gvrender_end_graph ( GVJ_t job  ) 

Definition at line 293 of file gvrender.c.

References gvrender_engine_s::end_graph, gvplugin_active_render_s::engine, gvdevice_format(), and GVJ_s::render.

void gvrender_end_job ( GVJ_t job  ) 

Definition at line 156 of file gvrender.c.

References GVC_s::common, gvrender_engine_s::end_job, gvplugin_active_render_s::engine, GVJ_s::gvc, gvdevice_finalize(), GVCOMMON_s::lib, NULL, and GVJ_s::render.

Referenced by gvFreeContext(), gvRender(), gvRenderData(), gvRenderFilename(), and gvRenderJobs().

void gvrender_end_layer ( GVJ_t job  ) 

Definition at line 369 of file gvrender.c.

References gvrender_engine_s::end_layer, gvplugin_active_render_s::engine, and GVJ_s::render.

Referenced by emit_graph().

void gvrender_end_node ( GVJ_t job  ) 

Definition at line 513 of file gvrender.c.

References gvrender_engine_s::end_node, gvplugin_active_render_s::engine, and GVJ_s::render.

void gvrender_end_nodes ( GVJ_t job  ) 

Definition at line 441 of file gvrender.c.

References gvrender_engine_s::end_nodes, gvplugin_active_render_s::engine, and GVJ_s::render.

void gvrender_end_page ( GVJ_t job  ) 

Definition at line 333 of file gvrender.c.

References gvrender_engine_s::end_page, gvplugin_active_render_s::engine, and GVJ_s::render.

int gvrender_features ( GVJ_t job  ) 

Definition at line 109 of file gvrender.c.

References gvplugin_active_render_s::engine, gvplugin_active_render_s::features, gvrender_features_t::flags, GVDEVICE_DOES_LAYERS, GVRENDER_DOES_ARROWS, and GVJ_s::render.

void gvrender_polygon ( GVJ_t job,
pointf af,
int  n,
boolean  filled 
)

Definition at line 795 of file gvrender.c.

References gvplugin_active_render_s::engine, GVJ_s::flags, grealloc(), GVRENDER_DOES_TRANSFORM, gvrender_ptf_A(), GVJ_s::obj, obj_state_s::pen, PEN_NONE, PF2P, gvrender_engine_s::polygon, and GVJ_s::render.

Referenced by gvrender_box(), and round_corners().

void gvrender_polyline ( GVJ_t job,
pointf af,
int  n 
)

Definition at line 880 of file gvrender.c.

References gvplugin_active_render_s::engine, GVJ_s::flags, grealloc(), GVRENDER_DOES_TRANSFORM, gvrender_ptf_A(), GVJ_s::obj, obj_state_s::pen, PEN_NONE, PF2P, gvrender_engine_s::polyline, and GVJ_s::render.

Referenced by round_corners().

pointf gvrender_ptf ( GVJ_t job,
pointf  p 
)

Definition at line 181 of file gvrender.c.

References GVJ_s::devscale, GVJ_s::rotation, GVJ_s::translation, pointf_s::x, pointf_s::y, and GVJ_s::zoom.

Referenced by gvrender_textpara(), and gvrender_usershape().

pointf* gvrender_ptf_A ( GVJ_t job,
pointf af,
pointf AF,
int  n 
)

Definition at line 202 of file gvrender.c.

References GVJ_s::devscale, GVJ_s::rotation, GVJ_s::translation, pointf_s::x, pointf_s::y, and GVJ_s::zoom.

Referenced by emit_map_rect(), gvrender_beziercurve(), gvrender_ellipse(), gvrender_polygon(), and gvrender_polyline().

int gvrender_select ( GVJ_t job,
char *  str 
)

Definition at line 52 of file gvrender.c.

References GVC_s::api, GVJ_s::device, gvplugin_installed_t::engine, gvplugin_active_device_s::engine, gvplugin_active_render_s::engine, gvplugin_active_render_s::features, gvplugin_installed_t::features, gvplugin_active_device_s::features, gvrender_features_t::flags, gvdevice_features_t::flags, GVJ_s::flags, GVJ_s::gvc, gvplugin_load(), GVRENDER_PLUGIN, gvplugin_active_render_s::id, gvplugin_installed_t::id, gvplugin_active_device_s::id, NO_SUPPORT, NULL, gvplugin_available_s::packagename, GVJ_s::render, gvplugin_active_render_s::type, gvplugin_active_device_s::type, gvplugin_available_s::typeptr, and gvplugin_available_s::typestr.

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

void gvrender_set_fillcolor ( GVJ_t job,
char *  name 
)

Definition at line 688 of file gvrender.c.

References gvplugin_active_render_s::engine, gvplugin_active_render_s::features, obj_state_s::fillcolor, GVJ_s::obj, GVJ_s::render, and gvrender_engine_s::resolve_color.

Referenced by emit_background(), emit_clusters(), and round_corners().

void gvrender_set_font ( GVJ_t job,
char *  fontname,
double  fontsize 
)

Definition at line 625 of file gvrender.c.

References gvplugin_active_render_s::engine, and GVJ_s::render.

Referenced by emit_label().

void gvrender_set_pencolor ( GVJ_t job,
char *  name 
)

Definition at line 668 of file gvrender.c.

References gvplugin_active_render_s::engine, gvplugin_active_render_s::features, GVJ_s::obj, obj_state_s::pencolor, GVJ_s::render, and gvrender_engine_s::resolve_color.

Referenced by emit_background(), emit_clusters(), emit_html_label(), emit_label(), and round_corners().

void gvrender_set_penwidth ( GVJ_t job,
double  penwidth 
)

Definition at line 1056 of file gvrender.c.

References gvplugin_active_render_s::engine, GVJ_s::obj, obj_state_s::penwidth, and GVJ_s::render.

Referenced by emit_clusters().

void gvrender_set_style ( GVJ_t job,
char **  s 
)

Definition at line 708 of file gvrender.c.

References agerr(), AGWARN, gvplugin_active_render_s::engine, obj_state_s::fill, FILL_NONE, FILL_SOLID, GVJ_s::obj, obj_state_s::pen, PEN_DASHED, PEN_DOTTED, PEN_NONE, PEN_SOLID, obj_state_s::penwidth, PENWIDTH_BOLD, obj_state_s::rawstyle, GVJ_s::render, and streq.

Referenced by arrow_newgen(), emit_clusters(), and emit_html_label().

void gvrender_textpara ( GVJ_t job,
pointf  p,
textpara_t para 
)

Definition at line 639 of file gvrender.c.

References gvplugin_active_render_s::engine, GVJ_s::flags, GVRENDER_DOES_TRANSFORM, gvrender_ptf(), GVJ_s::obj, obj_state_s::pen, PEN_NONE, PF2P, GVJ_s::render, textpara_t::str, and gvrender_engine_s::textpara.

Referenced by emit_label().

void gvrender_usershape ( GVJ_t job,
char *  name,
pointf a,
int  n,
boolean  filled,
char *  imagescale 
)

Definition at line 949 of file gvrender.c.

References GVJ_s::dpi, gvplugin_active_render_s::engine, find_user_shape(), GVJ_s::flags, GVRENDER_DOES_TRANSFORM, gvrender_ptf(), gvusershape_find(), gvusershape_size_dpi(), IMAGESCALE_BOTH, IMAGESCALE_FALSE, IMAGESCALE_HEIGHT, IMAGESCALE_TRUE, IMAGESCALE_WIDTH, gvrender_engine_s::library_shape, boxf::LL, GVJ_s::render, boxf::UR, pointf_s::x, point::x, pointf_s::y, and point::y.

boolean mapbool ( char *  s  ) 

Definition at line 449 of file utils.c.

References FALSE, NULL, strcasecmp(), and TRUE.

Referenced by common_init_edge(), dot_layout(), dot_mincross(), graph_init(), late_bool(), nonconstraint_edge(), normalize(), and user_pos().


Generated on Mon Mar 31 19:06:25 2008 for Graphviz by  doxygen 1.5.1