Graphviz 12.0.1~dev.20240716.0800
Loading...
Searching...
No Matches
gvcproc.h
Go to the documentation of this file.
1/*************************************************************************
2 * Copyright (c) 2011 AT&T Intellectual Property
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Eclipse Public License v1.0
5 * which accompanies this distribution, and is available at
6 * https://www.eclipse.org/legal/epl-v10.html
7 *
8 * Contributors: Details at https://graphviz.org
9 *************************************************************************/
10
11#pragma once
12
13#include <stdbool.h>
14#include <stddef.h>
15#include <stdio.h>
16
17/* these are intended to be private entry points - see gvc.h for the public ones */
18
19/* configuration */
20
22 void gvconfig(GVC_t * gvc, bool rescan);
23 char *gvhostname(void);
24
25/* plugins */
26
28 const char *typestr, int quality, gvplugin_package_t *package,
29 gvplugin_installed_t * typeptr);
34 FILE *debug);
35 gvplugin_library_t *gvplugin_library_load(GVC_t *gvc, const char *pathname);
36 api_t gvplugin_api(const char *str);
37 char * gvplugin_api_name(api_t api);
39 char *gvplugin_list(GVC_t * gvc, api_t api, const char *str);
40
42
43/* job */
44
45 void gvjobs_output_filename(GVC_t * gvc, const char *name);
46 bool gvjobs_output_langname(GVC_t * gvc, const char *name);
49 void gvjobs_delete(GVC_t * gvc);
50
51/* emit */
53
54/* textlayout */
55
57 bool gvtextlayout(GVC_t *gvc, textspan_t *span, char **fontpath);
58
59/* loadimage */
60 void gvloadimage(GVJ_t *job, usershape_t *us, boxf b, bool filled, const char *target);
61
62/* usershapes */
64 point gvusershape_size(graph_t *g, char *name);
65 usershape_t *gvusershape_find(const char *name);
66
67/* device */
68 int gvdevice_initialize(GVJ_t * job);
69 void gvdevice_format(GVJ_t * job);
70 void gvdevice_finalize(GVJ_t * job);
71
72/* render */
73
74#ifdef GVDLL
75#ifdef GVC_EXPORTS
76 __declspec(dllexport) pointf gvrender_ptf(GVJ_t *job, pointf p);
77#else
78 __declspec(dllimport) pointf gvrender_ptf(GVJ_t *job, pointf p);
79#endif
80#else
82#endif
83 pointf *gvrender_ptf_A(GVJ_t *job, pointf *af, pointf *AF, size_t n);
84
85 int gvrender_begin_job(GVJ_t * job);
86 void gvrender_end_job(GVJ_t * job);
87 int gvrender_select(GVJ_t * job, const char *lang);
88 int gvrender_features(GVJ_t * job);
89 void gvrender_begin_graph(GVJ_t *job);
90 void gvrender_end_graph(GVJ_t * job);
91 void gvrender_begin_page(GVJ_t * job);
92 void gvrender_end_page(GVJ_t * job);
93 void gvrender_begin_layer(GVJ_t * job);
94 void gvrender_end_layer(GVJ_t * job);
96 void gvrender_end_cluster(GVJ_t *job);
97 void gvrender_begin_nodes(GVJ_t * job);
98 void gvrender_end_nodes(GVJ_t * job);
99 void gvrender_begin_edges(GVJ_t * job);
100 void gvrender_end_edges(GVJ_t * job);
101 void gvrender_begin_node(GVJ_t *job);
102 void gvrender_end_node(GVJ_t * job);
103 void gvrender_begin_edge(GVJ_t *job);
104 void gvrender_end_edge(GVJ_t * job);
105 void gvrender_begin_anchor(GVJ_t * job,
106 char *href, char *tooltip, char *target, char *id);
107 void gvrender_end_anchor(GVJ_t * job);
109 void gvrender_end_label(GVJ_t * job);
110 void gvrender_textspan(GVJ_t * job, pointf p, textspan_t * span);
111 void gvrender_set_pencolor(GVJ_t * job, char *name);
112 void gvrender_set_penwidth(GVJ_t * job, double penwidth);
113 void gvrender_set_fillcolor(GVJ_t * job, char *name);
114 void gvrender_set_gradient_vals(GVJ_t *job, char *stopcolor, int angle,
115 double frac);
116
117 void gvrender_set_style(GVJ_t * job, char **s);
118 void gvrender_ellipse(GVJ_t * job, pointf * AF, int filled);
119 void gvrender_polygon(GVJ_t *job, pointf *af, size_t n, int filled);
120 void gvrender_box(GVJ_t * job, boxf BF, int filled);
121 void gvrender_beziercurve(GVJ_t *job, pointf *AF, size_t n, int filled);
122 void gvrender_polyline(GVJ_t * job, pointf * AF, size_t n);
123 void gvrender_comment(GVJ_t * job, char *str);
124 void gvrender_usershape(GVJ_t *job, char *name, pointf *AF, size_t n,
125 bool filled, char *imagescale, char *imagepos);
126
127/* layout */
128
129 int gvlayout_select(GVC_t * gvc, const char *str);
expr procedure type
Definition exparse.y:211
api_t
Definition gvcext.h:32
label_type
Definition gvcjob.h:38
void gvrender_end_nodes(GVJ_t *job)
Definition gvrender.c:308
void gvrender_begin_nodes(GVJ_t *job)
Definition gvrender.c:298
void gvrender_end_job(GVJ_t *job)
Definition gvrender.c:116
void gvplugin_write_status(GVC_t *gvc)
Definition gvplugin.c:449
void gvrender_end_label(GVJ_t *job)
Definition gvrender.c:407
void gvrender_beziercurve(GVJ_t *job, pointf *AF, size_t n, int filled)
Definition gvrender.c:582
void gvrender_usershape(GVJ_t *job, char *name, pointf *AF, size_t n, bool filled, char *imagescale, char *imagepos)
Definition gvrender.c:673
void gvrender_comment(GVJ_t *job, char *str)
Definition gvrender.c:616
void gvrender_end_graph(GVJ_t *job)
Definition gvrender.c:228
void gvjobs_output_filename(GVC_t *gvc, const char *name)
Definition gvjobs.c:44
void gvrender_set_style(GVJ_t *job, char **s)
Definition gvrender.c:484
void gvrender_set_fillcolor(GVJ_t *job, char *name)
Definition gvrender.c:453
void gvrender_polyline(GVJ_t *job, pointf *AF, size_t n)
Definition gvrender.c:599
char * gvconfig_libdir(GVC_t *gvc)
void gvrender_begin_edges(GVJ_t *job)
Definition gvrender.c:318
pointf * gvrender_ptf_A(GVJ_t *job, pointf *af, pointf *AF, size_t n)
Definition gvrender.c:154
void gvrender_polygon(GVJ_t *job, pointf *af, size_t n, int filled)
Definition gvrender.c:540
void gvrender_end_edges(GVJ_t *job)
Definition gvrender.c:328
void gvrender_begin_graph(GVJ_t *job)
Definition gvrender.c:218
void gvdevice_finalize(GVJ_t *job)
Definition gvdevice.c:333
gvplugin_library_t * gvplugin_library_load(GVC_t *gvc, const char *pathname)
Definition gvplugin.c:153
usershape_t * gvusershape_find(const char *name)
pointf gvrender_ptf(GVJ_t *job, pointf p)
Definition gvrender.c:133
void gvrender_end_page(GVJ_t *job)
Definition gvrender.c:249
void gvconfig(GVC_t *gvc, bool rescan)
Definition gvconfig.c:550
bool gvjobs_output_langname(GVC_t *gvc, const char *name)
Definition gvjobs.c:63
int gvlayout_select(GVC_t *gvc, const char *str)
Definition gvlayout.c:31
void gvrender_end_layer(GVJ_t *job)
Definition gvrender.c:270
point gvusershape_size(graph_t *g, char *name)
void gvrender_box(GVJ_t *job, boxf BF, int filled)
Definition gvrender.c:568
void gvrender_begin_cluster(GVJ_t *job)
Definition gvrender.c:280
point gvusershape_size_dpi(usershape_t *us, pointf dpi)
int gvdevice_initialize(GVJ_t *job)
Definition gvdevice.c:115
void gvrender_set_gradient_vals(GVJ_t *job, char *stopcolor, int angle, double frac)
Definition gvrender.c:470
void gvrender_ellipse(GVJ_t *job, pointf *AF, int filled)
Definition gvrender.c:523
char * gvhostname(void)
void gvjobs_delete(GVC_t *gvc)
Definition gvjobs.c:104
void gvrender_end_edge(GVJ_t *job)
Definition gvrender.c:366
void gvrender_begin_anchor(GVJ_t *job, char *href, char *tooltip, char *target, char *id)
Definition gvrender.c:376
void gvrender_end_anchor(GVJ_t *job)
Definition gvrender.c:387
void gvrender_begin_layer(GVJ_t *job)
Definition gvrender.c:259
api_t gvplugin_api(const char *str)
Definition gvplugin.c:50
gvplugin_available_t * gvplugin_load(GVC_t *gvc, api_t api, const char *type, FILE *debug)
Definition gvplugin.c:250
int gvtextlayout_select(GVC_t *gvc)
void gvrender_begin_page(GVJ_t *job)
Definition gvrender.c:239
void gvdevice_format(GVJ_t *job)
Definition gvdevice.c:324
void gvrender_begin_edge(GVJ_t *job)
Definition gvrender.c:357
GVJ_t * gvjobs_first(GVC_t *gvc)
Definition gvjobs.c:86
void gvrender_textspan(GVJ_t *job, pointf p, textspan_t *span)
Definition gvrender.c:417
void gvloadimage(GVJ_t *job, usershape_t *us, boxf b, bool filled, const char *target)
Definition gvloadimage.c:44
void gvemit_graph(GVC_t *gvc, graph_t *g)
Agraph_t * gvplugin_graph(GVC_t *gvc)
Definition gvplugin.c:474
void gvrender_begin_node(GVJ_t *job)
Definition gvrender.c:338
char * gvplugin_api_name(api_t api)
Definition gvplugin.c:60
bool gvplugin_install(GVC_t *gvc, api_t api, const char *typestr, int quality, gvplugin_package_t *package, gvplugin_installed_t *typeptr)
Definition gvplugin.c:72
bool gvtextlayout(GVC_t *gvc, textspan_t *span, char **fontpath)
int gvrender_begin_job(GVJ_t *job)
Definition gvrender.c:103
void gvrender_begin_label(GVJ_t *job, label_type type)
Definition gvrender.c:397
void gvrender_end_cluster(GVJ_t *job)
Definition gvrender.c:289
GVJ_t * gvjobs_next(GVC_t *gvc)
Definition gvjobs.c:91
void gvrender_set_penwidth(GVJ_t *job, double penwidth)
Definition gvrender.c:801
int gvrender_select(GVJ_t *job, const char *lang)
Definition gvrender.c:40
int gvrender_features(GVJ_t *job)
Definition gvrender.c:89
void gvrender_end_node(GVJ_t *job)
Definition gvrender.c:347
char * gvplugin_list(GVC_t *gvc, api_t api, const char *str)
Definition gvplugin.c:356
void gvrender_set_pencolor(GVJ_t *job, char *name)
Definition gvrender.c:436
static double penwidth[]
GVC_t * gvc
Definition htmlparse.c:99
agxbuf * str
Definition htmlparse.c:97
graph or subgraph
Definition cgraph.h:425
Definition gvcint.h:80
Definition geom.h:41
ingroup plugin_api
Definition gvplugin.h:35
Definition geom.h:27
Definition grammar.c:93