Graphviz 13.0.0~dev.20241220.2304
|
#include "config.h"
#include <assert.h>
#include <string.h>
#include <common/const.h>
#include <common/macros.h>
#include <common/colorprocs.h>
#include <gvc/gvplugin_render.h>
#include <cgraph/cgraph.h>
#include <gvc/gvcint.h>
#include <common/geom.h>
#include <common/geomprocs.h>
#include <common/render.h>
#include <gvc/gvcproc.h>
#include <limits.h>
#include <stdlib.h>
#include <util/agxbuf.h>
#include <util/alloc.h>
#include <util/strcasecmp.h>
#include <util/streq.h>
Go to the source code of this file.
Macros | |
#define | REGULAR 0 |
#define | BOLD 1 |
#define | ITALIC 2 |
#define BOLD 1 |
Definition at line 130 of file gvrender.c.
#define ITALIC 2 |
Definition at line 131 of file gvrender.c.
#define REGULAR 0 |
Definition at line 129 of file gvrender.c.
|
static |
Definition at line 641 of file gvrender.c.
References IMAGEPOS_BOTTOM_CENTER, IMAGEPOS_BOTTOM_LEFT, IMAGEPOS_BOTTOM_RIGHT, IMAGEPOS_MIDDLE_CENTER, IMAGEPOS_MIDDLE_LEFT, IMAGEPOS_MIDDLE_RIGHT, IMAGEPOS_TOP_CENTER, IMAGEPOS_TOP_LEFT, and IMAGEPOS_TOP_RIGHT.
Referenced by gvrender_usershape().
|
static |
Definition at line 626 of file gvrender.c.
References IMAGESCALE_BOTH, IMAGESCALE_FALSE, IMAGESCALE_HEIGHT, IMAGESCALE_TRUE, IMAGESCALE_WIDTH, and mapbool().
Referenced by gvrender_usershape().
void gvrender_begin_anchor | ( | GVJ_t * | job, |
char * | href, | ||
char * | tooltip, | ||
char * | target, | ||
char * | id | ||
) |
Definition at line 373 of file gvrender.c.
References gvrender_engine_s::begin_anchor, gvplugin_active_render_s::engine, and GVJ_s::render.
Referenced by emit_begin_edge(), emit_clusters(), emit_edge_label(), emit_end_edge(), emit_page(), epsf_gencode(), initAnchor(), point_gencode(), poly_gencode(), and record_gencode().
void gvrender_begin_cluster | ( | GVJ_t * | job | ) |
Definition at line 277 of file gvrender.c.
References gvrender_engine_s::begin_cluster, gvplugin_active_render_s::engine, and GVJ_s::render.
Referenced by emit_begin_cluster().
void gvrender_begin_edge | ( | GVJ_t * | job | ) |
Definition at line 354 of file gvrender.c.
References gvrender_engine_s::begin_edge, gvplugin_active_render_s::engine, and GVJ_s::render.
Referenced by emit_begin_edge().
void gvrender_begin_edges | ( | GVJ_t * | job | ) |
Definition at line 315 of file gvrender.c.
References gvrender_engine_s::begin_edges, gvplugin_active_render_s::engine, and GVJ_s::render.
Referenced by emit_view().
void gvrender_begin_graph | ( | GVJ_t * | job | ) |
Definition at line 215 of file gvrender.c.
References gvrender_engine_s::begin_graph, gvplugin_active_render_s::engine, and GVJ_s::render.
Referenced by emit_begin_graph().
int gvrender_begin_job | ( | GVJ_t * | job | ) |
Definition at line 103 of file gvrender.c.
References gvrender_engine_s::begin_job, gvplugin_active_render_s::engine, gvdevice_initialize(), and GVJ_s::render.
Referenced by gvRenderJobs().
void gvrender_begin_label | ( | GVJ_t * | job, |
label_type | type | ||
) |
Definition at line 394 of file gvrender.c.
References gvrender_engine_s::begin_label, gvplugin_active_render_s::engine, GVJ_s::render, and type.
Referenced by emit_htextspans(), and emit_label().
void gvrender_begin_layer | ( | GVJ_t * | job | ) |
Definition at line 256 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 | ) |
Definition at line 335 of file gvrender.c.
References gvrender_engine_s::begin_node, gvplugin_active_render_s::engine, and GVJ_s::render.
Referenced by emit_begin_node().
void gvrender_begin_nodes | ( | GVJ_t * | job | ) |
Definition at line 295 of file gvrender.c.
References gvrender_engine_s::begin_nodes, gvplugin_active_render_s::engine, and GVJ_s::render.
Referenced by emit_view().
void gvrender_begin_page | ( | GVJ_t * | job | ) |
Definition at line 236 of file gvrender.c.
References gvrender_engine_s::begin_page, gvplugin_active_render_s::engine, and GVJ_s::render.
Referenced by emit_page().
Definition at line 579 of file gvrender.c.
References gvrender_engine_s::beziercurve, gvplugin_active_render_s::engine, GVJ_s::flags, free(), gv_calloc(), GVRENDER_DOES_TRANSFORM, gvrender_ptf_A(), GVJ_s::obj, obj_state_s::pen, PEN_NONE, and GVJ_s::render.
Referenced by arrow_type_curve(), cylinder_draw(), emit_edge_graphics(), emit_xdot(), multicolor(), rounded_draw(), and wedgedEllipse().
Definition at line 565 of file gvrender.c.
References A, B, gvrender_polygon(), and pointf_s::x.
Referenced by doBorder(), doSide(), emit_background(), emit_clusters(), emit_html_cell(), emit_html_tbl(), and record_gencode().
void gvrender_comment | ( | GVJ_t * | job, |
char * | str | ||
) |
Definition at line 613 of file gvrender.c.
References gvrender_engine_s::comment, gvplugin_active_render_s::engine, GVJ_s::render, and str.
Referenced by emit_edge(), emit_graph(), and emit_node().
|
static |
Definition at line 177 of file gvrender.c.
References s1().
Referenced by gvrender_resolve_color().
Definition at line 520 of file gvrender.c.
References gvrender_engine_s::ellipse, gvplugin_active_render_s::engine, GVJ_s::flags, GVRENDER_DOES_TRANSFORM, gvrender_ptf_A(), mid_pointf(), GVJ_s::obj, obj_state_s::pen, PEN_NONE, and GVJ_s::render.
Referenced by arrow_type_dot(), emit_xdot(), point_gencode(), and poly_gencode().
void gvrender_end_anchor | ( | GVJ_t * | job | ) |
Definition at line 384 of file gvrender.c.
References gvrender_engine_s::end_anchor, gvplugin_active_render_s::engine, and GVJ_s::render.
Referenced by emit_clusters(), emit_edge_label(), emit_end_edge(), emit_page(), endAnchor(), epsf_gencode(), point_gencode(), poly_gencode(), and record_gencode().
void gvrender_end_cluster | ( | GVJ_t * | job | ) |
Definition at line 286 of file gvrender.c.
References gvrender_engine_s::end_cluster, gvplugin_active_render_s::engine, and GVJ_s::render.
Referenced by emit_end_cluster().
void gvrender_end_edge | ( | GVJ_t * | job | ) |
Definition at line 363 of file gvrender.c.
References gvrender_engine_s::end_edge, gvplugin_active_render_s::engine, and GVJ_s::render.
Referenced by emit_end_edge().
void gvrender_end_edges | ( | GVJ_t * | job | ) |
Definition at line 325 of file gvrender.c.
References gvrender_engine_s::end_edges, gvplugin_active_render_s::engine, and GVJ_s::render.
Referenced by emit_view().
void gvrender_end_graph | ( | GVJ_t * | job | ) |
Definition at line 225 of file gvrender.c.
References gvrender_engine_s::end_graph, gvplugin_active_render_s::engine, gvdevice_format(), and GVJ_s::render.
Referenced by emit_end_graph().
void gvrender_end_job | ( | GVJ_t * | job | ) |
Definition at line 116 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 gvFinalize(), gvRender(), gvRenderContext(), gvRenderData(), gvRenderFilename(), and gvRenderJobs().
void gvrender_end_label | ( | GVJ_t * | job | ) |
Definition at line 404 of file gvrender.c.
References gvrender_engine_s::end_label, gvplugin_active_render_s::engine, and GVJ_s::render.
Referenced by emit_htextspans(), and emit_label().
void gvrender_end_layer | ( | GVJ_t * | job | ) |
Definition at line 267 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 344 of file gvrender.c.
References gvrender_engine_s::end_node, gvplugin_active_render_s::engine, and GVJ_s::render.
Referenced by emit_end_node().
void gvrender_end_nodes | ( | GVJ_t * | job | ) |
Definition at line 305 of file gvrender.c.
References gvrender_engine_s::end_nodes, gvplugin_active_render_s::engine, and GVJ_s::render.
Referenced by emit_view().
void gvrender_end_page | ( | GVJ_t * | job | ) |
Definition at line 246 of file gvrender.c.
References gvrender_engine_s::end_page, gvplugin_active_render_s::engine, and GVJ_s::render.
Referenced by emit_page().
int gvrender_features | ( | GVJ_t * | job | ) |
Definition at line 89 of file gvrender.c.
References gvplugin_active_render_s::engine, gvplugin_active_render_s::features, gvrender_features_t::flags, and GVJ_s::render.
Definition at line 537 of file gvrender.c.
References gvplugin_active_render_s::engine, obj_state_s::fillcolor, GVJ_s::flags, free(), gv_calloc(), GVRENDER_DOES_TRANSFORM, gvrender_ptf_A(), NO_POLY, GVJ_s::obj, obj_state_s::pen, PEN_NONE, obj_state_s::pencolor, gvrender_engine_s::polygon, and GVJ_s::render.
Referenced by arrow_type_box(), arrow_type_crow(), arrow_type_diamond(), arrow_type_normal(), arrow_type_tee(), diagonals_draw(), emit_edge_graphics(), emit_xdot(), gvrender_box(), poly_gencode(), round_corners(), and stripedBox().
Definition at line 596 of file gvrender.c.
References gvplugin_active_render_s::engine, GVJ_s::flags, free(), gv_calloc(), GVRENDER_DOES_TRANSFORM, gvrender_ptf_A(), GVJ_s::obj, obj_state_s::pen, PEN_NONE, gvrender_engine_s::polyline, and GVJ_s::render.
Referenced by arrow_type_box(), arrow_type_curve(), arrow_type_gap(), arrow_type_tee(), diagonals_draw(), doBorder(), emit_attachment(), emit_xdot(), gen_fields(), Mcircle_hack(), poly_gencode(), and round_corners().
Definition at line 133 of file gvrender.c.
References GVJ_s::devscale, GVJ_s::rotation, scale(), GVJ_s::translation, pointf_s::x, pointf_s::y, and GVJ_s::zoom.
Referenced by gvrender_textspan(), and gvrender_usershape().
Definition at line 154 of file gvrender.c.
References GVJ_s::devscale, GVJ_s::rotation, scale(), GVJ_s::translation, pointf_s::x, pointf_s::y, and GVJ_s::zoom.
Referenced by emit_begin_edge(), emit_begin_node(), emit_map_rect(), emit_page(), gvrender_beziercurve(), gvrender_ellipse(), gvrender_polygon(), gvrender_polyline(), map_label(), and map_point().
|
static |
Definition at line 188 of file gvrender.c.
References agerrorf(), agwarningf(), agxbfree(), agxbprint(), agxbuse(), color(), COLOR_OK, COLOR_STRING, gvrender_features_t::color_type, COLOR_UNKNOWN, colorxlate(), emit_once(), gvrender_comparestr(), gvrender_features_t::knowncolors, NULL, and gvrender_features_t::sz_knowncolors.
Referenced by gvrender_set_fillcolor(), gvrender_set_gradient_vals(), and gvrender_set_pencolor().
int gvrender_select | ( | GVJ_t * | job, |
const char * | str | ||
) |
Definition at line 40 of file gvrender.c.
References GVC_s::api, GVJ_s::device, gvplugin_active_device_s::engine, gvplugin_active_render_s::engine, gvplugin_installed_t::engine, gvplugin_active_device_s::features, gvplugin_active_render_s::features, gvplugin_installed_t::features, gvrender_features_t::flags, gvdevice_features_t::flags, GVJ_s::flags, GVJ_s::gvc, gvc, gvplugin_load(), GVRENDER_PLUGIN, gvplugin_active_device_s::id, gvplugin_active_render_s::id, gvplugin_installed_t::id, NO_SUPPORT, NULL, GVJ_s::render, str, gvplugin_active_device_s::type, gvplugin_active_render_s::type, gvplugin_available_s::typeptr, and gvplugin_available_s::typestr.
Referenced by gvRender(), gvRenderContext(), gvRenderData(), gvRenderFilename(), and gvRenderJobs().
void gvrender_set_fillcolor | ( | GVJ_t * | job, |
char * | name | ||
) |
Definition at line 450 of file gvrender.c.
References color(), gvplugin_active_render_s::engine, gvplugin_active_render_s::features, obj_state_s::fillcolor, gvrender_resolve_color(), NULL, GVJ_s::obj, GVJ_s::render, and gvrender_engine_s::resolve_color.
Referenced by emit_background(), emit_cluster_colors(), emit_clusters(), emit_colors(), emit_edge_graphics(), emit_html_rules(), emit_page(), emit_xdot(), multicolor(), point_gencode(), poly_gencode(), record_gencode(), setFill(), stripedBox(), and wedgedEllipse().
void gvrender_set_gradient_vals | ( | GVJ_t * | job, |
char * | stopcolor, | ||
int | angle, | ||
double | frac | ||
) |
Definition at line 467 of file gvrender.c.
References color(), gvplugin_active_render_s::engine, gvplugin_active_render_s::features, obj_state_s::gradient_angle, obj_state_s::gradient_frac, gvrender_resolve_color(), GVJ_s::obj, GVJ_s::render, gvrender_engine_s::resolve_color, and obj_state_s::stopcolor.
Referenced by emit_background(), emit_clusters(), emit_xdot(), poly_gencode(), record_gencode(), and setFill().
void gvrender_set_pencolor | ( | GVJ_t * | job, |
char * | name | ||
) |
Definition at line 433 of file gvrender.c.
References color(), gvplugin_active_render_s::engine, gvplugin_active_render_s::features, gvrender_resolve_color(), NULL, GVJ_s::obj, obj_state_s::pencolor, GVJ_s::render, and gvrender_engine_s::resolve_color.
Referenced by doBorder(), emit_attachment(), emit_background(), emit_cluster_colors(), emit_clusters(), emit_colors(), emit_edge_graphics(), emit_htextspans(), emit_html_label(), emit_html_rules(), emit_label(), emit_page(), emit_xdot(), multicolor(), penColor(), point_gencode(), poly_gencode(), and setFill().
void gvrender_set_penwidth | ( | GVJ_t * | job, |
double | penwidth | ||
) |
Definition at line 798 of file gvrender.c.
References gvplugin_active_render_s::engine, GVJ_s::obj, obj_state_s::penwidth, penwidth, and GVJ_s::render.
Referenced by arrow_gen(), doBorder(), emit_begin_edge(), emit_clusters(), emit_html_tbl(), point_gencode(), stripedBox(), stylenode(), and wedgedEllipse().
void gvrender_set_style | ( | GVJ_t * | job, |
char ** | s | ||
) |
Definition at line 481 of file gvrender.c.
References agwarningf(), 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_gen(), doBorder(), emit_attachment(), emit_begin_edge(), emit_clusters(), emit_edge_graphics(), emit_html_label(), emit_xdot(), multicolor(), point_gencode(), and stylenode().
void gvrender_textspan | ( | GVJ_t * | job, |
pointf | p, | ||
textspan_t * | span | ||
) |
Definition at line 414 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, GVJ_s::render, textspan_t::str, and gvrender_engine_s::textspan.
Referenced by emit_htextspans(), emit_label(), and emit_xdot().
void gvrender_usershape | ( | GVJ_t * | job, |
char * | name, | ||
pointf * | a, | ||
size_t | n, | ||
bool | filled, | ||
char * | imagescale, | ||
char * | imagepos | ||
) |
Definition at line 670 of file gvrender.c.
References GVJ_s::dpi, gvplugin_active_render_s::engine, EXPANDBP, find_user_shape(), GVJ_s::flags, get_imagepos(), get_imagescale(), gvloadimage(), GVRENDER_DOES_TRANSFORM, gvrender_ptf(), gvusershape_find(), gvusershape_size_dpi(), IMAGEPOS_BOTTOM_CENTER, IMAGEPOS_BOTTOM_LEFT, IMAGEPOS_BOTTOM_RIGHT, IMAGEPOS_MIDDLE_LEFT, IMAGEPOS_MIDDLE_RIGHT, IMAGEPOS_TOP_CENTER, IMAGEPOS_TOP_LEFT, IMAGEPOS_TOP_RIGHT, IMAGESCALE_BOTH, IMAGESCALE_FALSE, IMAGESCALE_HEIGHT, IMAGESCALE_TRUE, IMAGESCALE_WIDTH, gvrender_engine_s::library_shape, boxf::LL, GVJ_s::render, gvplugin_active_render_s::type, boxf::UR, point::x, pointf_s::x, point::y, and pointf_s::y.
Referenced by emit_html_img(), and poly_gencode().
|
extern |
Definition at line 335 of file utils.c.
Referenced by get_imagescale().