33 span->
just = terminator;
34 if (line && line[0]) {
57 if (*lp->
text ==
'\0')
61 for (
char c, *p = lp->
text; (c = *p++);) {
62 unsigned char byte = (
unsigned char) c;
88 }
else if (c ==
'\n') {
190 for (
size_t i = 0; i <
cnt; i++) {
249 for (
size_t i = 0; i < lp->
u.
txt.
nspans; i++) {
281 char *tp_str =
"", *hp_str =
"";
282 char *g_str =
"\\G", *n_str =
"\\N", *e_str =
"\\E",
283 *h_str =
"\\H", *t_str =
"\\T", *l_str =
"\\L";
312 if ((tp_str = pt.
name))
313 has_tp = *tp_str !=
'\0';
316 if ((hp_str = pt.
name))
317 has_hp = *hp_str !=
'\0';
333 for (
s =
str; (c = *
s++);) {
334 if (c ==
'\\' && *
s !=
'\0') {
Agedge_t * isEdge(Agraph_t *g, Agnode_t *t, Agnode_t *h, char *key)
static void agxbfree(agxbuf *xb)
free any malloced resources
static int agxbprint(agxbuf *xb, const char *fmt,...)
Printf-style output to an agxbuf.
static size_t agxblen(const agxbuf *xb)
return number of characters currently stored
static int agxbputc(agxbuf *xb, char c)
add character to buffer
static char * agxbdisown(agxbuf *xb)
Memory allocation wrappers that exit on failure.
static void * gv_recalloc(void *ptr, size_t old_nmemb, size_t new_nmemb, size_t size)
static char * gv_strdup(const char *original)
static void * gv_alloc(size_t size)
char * latin1ToUTF8(char *s)
Converts string from Latin1 encoding to utf8. Also translates HTML entities.
char * htmlEntityUTF8(char *s, graph_t *g)
static int cnt(Dict_t *d, Dtlink_t **set)
int agerr(agerrlevel_t level, const char *fmt,...)
int agisdirected(Agraph_t *g)
Agraph_t * agraphof(void *obj)
char * agnameof(void *)
returns a string descriptor for the object.
Agraph_t * agroot(void *obj)
void gvrender_end_label(GVJ_t *job)
void gvrender_textspan(GVJ_t *job, pointf p, textspan_t *span)
void gvrender_begin_label(GVJ_t *job, label_type type)
void gvrender_set_pencolor(GVJ_t *job, char *name)
textitem scanner parser str
int make_html_label(void *obj, textlabel_t *lp)
Return non-zero if problem parsing HTML. In this case, use object name.
void free_html_label(htmllabel_t *lp, int root)
void emit_html_label(GVJ_t *job, htmllabel_t *lp, textlabel_t *tp)
char * strdup_and_subst_obj(char *str, void *obj)
void make_simple_label(GVC_t *gvc, textlabel_t *lp)
static char * strdup_and_subst_obj0(char *str, void *obj, int escBackslash)
textlabel_t * make_label(void *obj, char *str, int kind, double fontsize, char *fontname, char *fontcolor)
void free_textspan(textspan_t *tl, size_t cnt)
static void storeline(GVC_t *gvc, textlabel_t *lp, char *line, char terminator)
void free_label(textlabel_t *p)
void emit_label(GVJ_t *job, emit_state_t emit_state, textlabel_t *lp)
pointf textspan_size(GVC_t *gvc, textspan_t *span)
Estimates size of a textspan, in points.
Agraph_t * root
subgraphs - ancestors
unsigned labeledgealigned
struct textlabel_t::@78::@79 txt
void(* free_layout)(void *layout)