Graphviz 13.0.0~dev.20241220.2304
|
#include <assert.h>
#include <common/render.h>
#include <common/htmltable.h>
#include <common/pointset.h>
#include <cdt/cdt.h>
#include <float.h>
#include <inttypes.h>
#include <limits.h>
#include <math.h>
#include <stddef.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
#include <util/agxbuf.h>
#include <util/alloc.h>
#include <util/bitarray.h>
#include <util/exit.h>
#include <util/gv_math.h>
#include <util/prisize_t.h>
#include <util/strcasecmp.h>
#include <util/streq.h>
#include <util/unreachable.h>
Go to the source code of this file.
Data Structures | |
struct | htmlmap_data_t |
Macros | |
#define | DEFAULT_BORDER 1 |
#define | DEFAULT_CELLPADDING 2 |
#define | DEFAULT_CELLSPACING 2 |
#define | RESET(fld) if(obj->fld != save->fld) {free(obj->fld); obj->fld = save->fld;} |
Functions | |
static void | pushFontInfo (htmlenv_t *env, textfont_t *fp, textfont_t *savp) |
static void | popFontInfo (htmlenv_t *env, textfont_t *savp) |
static void | emit_htextspans (GVJ_t *job, size_t nspans, htextspan_t *spans, pointf p, double halfwidth_x, textfont_t finfo, boxf b, int simple) |
static void | emit_html_txt (GVJ_t *job, htmltxt_t *tp, htmlenv_t *env) |
static void | doSide (GVJ_t *job, pointf p, double wd, double ht) |
static pointf * | mkPts (pointf *AF, boxf b, int border) |
static void | doBorder (GVJ_t *job, htmldata_t *dp, boxf b) |
static int | setFill (GVJ_t *job, char *color, int angle, htmlstyle_t style, char *clrs[2]) |
static int | initAnchor (GVJ_t *job, htmlenv_t *env, htmldata_t *data, boxf b, htmlmap_data_t *save) |
static void | endAnchor (GVJ_t *job, htmlmap_data_t *save) |
static void | emit_html_cell (GVJ_t *job, htmlcell_t *cp, htmlenv_t *env) |
static void | emit_html_rules (GVJ_t *job, htmlcell_t *cp, htmlenv_t *env, char *color, htmlcell_t *nextc) |
static void | emit_html_tbl (GVJ_t *job, htmltbl_t *tbl, htmlenv_t *env) |
static void | emit_html_img (GVJ_t *job, htmlimg_t *cp, htmlenv_t *env) |
static void | allocObj (GVJ_t *job) |
static void | freeObj (GVJ_t *job) |
static double | heightOfLbl (htmllabel_t *lp) |
void | emit_html_label (GVJ_t *job, htmllabel_t *lp, textlabel_t *tp) |
void | free_html_data (htmldata_t *dp) |
void | free_html_text (htmltxt_t *t) |
static void | free_html_img (htmlimg_t *ip) |
static void | free_html_cell (htmlcell_t *cp) |
static void | free_html_tbl (htmltbl_t *tbl) |
void | free_html_label (htmllabel_t *lp, int root) |
static htmldata_t * | portToTbl (htmltbl_t *, char *) |
static htmldata_t * | portToCell (htmlcell_t *cp, char *id) |
boxf * | html_port (node_t *n, char *pname, unsigned char *sides) |
static int | size_html_txt (GVC_t *gvc, htmltxt_t *ftxt, htmlenv_t *env) |
static int | size_html_tbl (graph_t *g, htmltbl_t *tbl, htmlcell_t *parent, htmlenv_t *env) |
static int | size_html_img (htmlimg_t *img, htmlenv_t *env) |
static int | size_html_cell (graph_t *g, htmlcell_t *cp, htmltbl_t *parent, htmlenv_t *env) |
static uint16_t | findCol (PointSet *ps, int row, int col, htmlcell_t *cellp) |
static int | processTbl (graph_t *g, htmltbl_t *tbl, htmlenv_t *env) |
static void | set_cell_widths (htmltbl_t *table) |
static void | set_cell_heights (htmltbl_t *table) |
static void | pos_html_tbl (htmltbl_t *, boxf, unsigned char) |
static void | pos_html_img (htmlimg_t *cp, boxf pos) |
static void | pos_html_txt (htmltxt_t *ftxt, char c) |
Set default alignment. | |
static void | pos_html_cell (htmlcell_t *cp, boxf pos, unsigned char sides) |
static char * | nameOf (void *obj, agxbuf *xb) |
static char * | getPenColor (void *obj) |
int | make_html_label (void *obj, textlabel_t *lp) |
Return non-zero if problem parsing HTML. In this case, use object name. | |
#define DEFAULT_BORDER 1 |
Definition at line 54 of file htmltable.c.
#define DEFAULT_CELLPADDING 2 |
Definition at line 55 of file htmltable.c.
#define DEFAULT_CELLSPACING 2 |
Definition at line 56 of file htmltable.c.
Definition at line 418 of file htmltable.c.
|
static |
Definition at line 682 of file htmltable.c.
References CLUSTER_OBJTYPE, obj_state_s::e, EDGE_OBJTYPE, obj_state_s::emit_state, obj_state_s::explicit_tooltip, obj_state_s::g, obj_state_s::n, NODE_OBJTYPE, obj_state_s::parent, parent, push_obj_state(), ROOTGRAPH_OBJTYPE, obj_state_s::sg, obj_state_s::target, obj_state_s::tooltip, obj_state_s::type, obj_state_s::u, UNREACHABLE, and obj_state_s::url.
Referenced by emit_html_label().
|
static |
Definition at line 251 of file htmltable.c.
References htmldata_t::border, BORDER_BOTTOM, BORDER_LEFT, BORDER_MASK, BORDER_RIGHT, BORDER_TOP, color(), htmlstyle_t::dashed, DEFAULT_COLOR, GVC_s::defaultlinestyle, delta, htmlstyle_t::dotted, htmldata_t::flags, GVJ_s::gvc, gvrender_box(), gvrender_polyline(), gvrender_set_pencolor(), gvrender_set_penwidth(), gvrender_set_style(), boxf::LL, mkPts(), NULL, htmldata_t::pencolor, round_corners(), htmlstyle_t::rounded, htmldata_t::style, boxf::UR, pointf_s::x, and pointf_s::y.
Referenced by emit_html_cell(), and emit_html_tbl().
Definition at line 212 of file htmltable.c.
References gvrender_box(), boxf::LL, boxf::UR, pointf_s::x, and pointf_s::y.
Referenced by emit_html_rules().
|
static |
Definition at line 116 of file htmltable.c.
References textfont_t::color, textfont_t::flags, textspan_t::font, gvrender_begin_label(), gvrender_end_label(), gvrender_set_pencolor(), gvrender_textspan(), htextspan_t::items, textspan_t::just, LABEL_HTML, textspan_t::layout, htextspan_t::lfsize, boxf::LL, textfont_t::name, htextspan_t::nitems, textfont_t::postscript_alias, simple, htextspan_t::size, textfont_t::size, textspan_t::size, textspan_t::str, boxf::UR, pointf_s::x, pointf_s::y, textspan_t::yoffset_centerline, and textspan_t::yoffset_layout.
Referenced by emit_html_txt().
|
static |
Definition at line 624 of file htmltable.c.
References htmldata_t::bgcolor, htmldata_t::border, htmldata_t::box, htmlcell_t::child, htmlcell_t::data, doBorder(), EMIT_CLUSTERS_LAST, emit_html_img(), emit_html_tbl(), emit_html_txt(), endAnchor(), GVJ_s::flags, free(), htmldata_t::gradientangle, gvrender_box(), htmldata_t::href, HTML_IMAGE, HTML_TBL, htmllabel_t::img, initAnchor(), htmlstyle_t::invisible, htmllabel_t::kind, boxf::LL, mkPts(), htmlenv_t::pos, round_corners(), htmlstyle_t::rounded, setFill(), htmldata_t::style, htmldata_t::target, htmllabel_t::tbl, htmldata_t::title, htmllabel_t::txt, htmllabel_t::u, boxf::UR, pointf_s::x, and pointf_s::y.
Referenced by emit_html_tbl().
Definition at line 597 of file htmltable.c.
References A, htmlimg_t::box, gvrender_usershape(), htmlenv_t::imgscale, boxf::LL, htmlenv_t::pos, scale(), htmlimg_t::scale, htmlimg_t::src, boxf::UR, pointf_s::x, and pointf_s::y.
Referenced by emit_html_cell().
void emit_html_label | ( | GVJ_t * | job, |
htmllabel_t * | lp, | ||
textlabel_t * | tp | ||
) |
Definition at line 745 of file htmltable.c.
References agget(), allocObj(), textfont_t::color, htmltbl_t::data, DEFAULT_COLOR, GVC_s::defaultlinestyle, emit_html_tbl(), emit_html_txt(), htmlenv_t::finfo, textlabel_t::fontcolor, textlabel_t::fontname, textlabel_t::fontsize, free(), freeObj(), GVJ_s::gvc, gvrender_set_pencolor(), gvrender_set_style(), heightOfLbl(), HTML_TBL, obj_state_s::id, htmlenv_t::imgscale, htmllabel_t::kind, obj_state_s::n, textfont_t::name, NULL, GVJ_s::obj, htmlenv_t::objid, htmlenv_t::objid_set, htmldata_t::pencolor, htmlenv_t::pos, textlabel_t::pos, textfont_t::size, textlabel_t::space, htmllabel_t::tbl, htmllabel_t::txt, htmllabel_t::u, obj_state_s::u, textlabel_t::valign, and pointf_s::y.
Referenced by emit_label().
|
static |
Definition at line 450 of file htmltable.c.
References htmldata_t::border, htmldata_t::box, htmlcell_t::col, color(), htmlcell_t::colspan, htmltbl_t::column_count, htmltbl_t::data, htmlcell_t::data, DEFAULT_COLOR, doSide(), gvrender_set_fillcolor(), gvrender_set_pencolor(), htmlcell_t::hruled, boxf::LL, htmlcell_t::parent, htmlenv_t::pos, htmlcell_t::row, htmltbl_t::row_count, htmlcell_t::rowspan, htmldata_t::space, boxf::UR, htmlcell_t::vruled, pointf_s::x, and pointf_s::y.
Referenced by emit_html_tbl().
Definition at line 517 of file htmltable.c.
References htmldata_t::bgcolor, htmldata_t::border, htmldata_t::box, htmltbl_t::cells, htmltbl_t::data, doBorder(), EMIT_CLUSTERS_LAST, emit_html_cell(), emit_html_rules(), endAnchor(), GVJ_s::flags, htmltbl_t::font, free(), htmldata_t::gradientangle, gvrender_box(), gvrender_set_penwidth(), htmldata_t::href, htmlcell_t::hruled, initAnchor(), htmlstyle_t::invisible, boxf::LL, mkPts(), htmltbl_t::n, htmldata_t::pencolor, popFontInfo(), htmlenv_t::pos, pushFontInfo(), round_corners(), htmlstyle_t::rounded, setFill(), htmldata_t::style, htmldata_t::target, htmldata_t::title, htmltbl_t::u, boxf::UR, htmlcell_t::vruled, pointf_s::x, and pointf_s::y.
Referenced by emit_html_cell(), and emit_html_label().
Definition at line 195 of file htmltable.c.
References htmltxt_t::box, emit_htextspans(), htmlenv_t::finfo, boxf::LL, htmltxt_t::nspans, htmlenv_t::pos, htmltxt_t::simple, htmltxt_t::spans, boxf::UR, pointf_s::x, and pointf_s::y.
Referenced by emit_html_cell(), and emit_html_label().
|
static |
Definition at line 431 of file htmltable.c.
References htmlmap_data_t::explicit_tooltip, obj_state_s::explicit_tooltip, gvrender_end_anchor(), GVJ_s::obj, RESET, and obj_state_s::url.
Referenced by emit_html_cell(), and emit_html_tbl().
|
static |
Definition at line 1154 of file htmltable.c.
References addPS(), htmlcell_t::colspan, isInPS(), ps, row, htmlcell_t::rowspan, and UINT16_MAX.
Referenced by processTbl().
|
static |
Definition at line 832 of file htmltable.c.
References htmlcell_t::child, htmlcell_t::data, free(), free_html_data(), and free_html_label().
Referenced by free_html_tbl().
void free_html_data | ( | htmldata_t * | dp | ) |
Definition at line 792 of file htmltable.c.
References htmldata_t::bgcolor, free(), htmldata_t::href, htmldata_t::id, htmldata_t::pencolor, htmldata_t::port, htmldata_t::target, and htmldata_t::title.
Referenced by cleanCell(), cleanTbl(), free_html_cell(), and free_html_tbl().
|
static |
Definition at line 826 of file htmltable.c.
References free(), and htmlimg_t::src.
Referenced by free_html_label().
void free_html_label | ( | htmllabel_t * | lp, |
int | root | ||
) |
Definition at line 864 of file htmltable.c.
References free(), free_html_img(), free_html_tbl(), free_html_text(), HTML_IMAGE, HTML_TBL, htmllabel_t::img, htmllabel_t::kind, htmllabel_t::tbl, htmllabel_t::txt, and htmllabel_t::u.
Referenced by cleanup(), cleanup(), free_html_cell(), and free_label().
|
static |
Definition at line 843 of file htmltable.c.
References htmltbl_t::cells, htmltbl_t::data, free(), free_html_cell(), free_html_data(), htmltbl_t::heights, htmltbl_t::n, htmltbl_t::p, htmltbl_t::row_count, htmltbl_t::rows, SIZE_MAX, htmltbl_t::u, and htmltbl_t::widths.
Referenced by free_html_label().
void free_html_text | ( | htmltxt_t * | t | ) |
Definition at line 803 of file htmltable.c.
References free(), textspan_t::free_layout, htextspan_t::items, textspan_t::layout, htextspan_t::nitems, htmltxt_t::nspans, htmltxt_t::spans, and textspan_t::str.
Referenced by cleanCell(), and free_html_label().
|
static |
Definition at line 713 of file htmltable.c.
References obj_state_s::id, NULL, GVJ_s::obj, pop_obj_state(), obj_state_s::target, obj_state_s::tooltip, and obj_state_s::url.
Referenced by emit_html_label().
|
static |
Definition at line 1840 of file htmltable.c.
References agget(), NULL, and str.
Referenced by make_html_label().
|
static |
Definition at line 725 of file htmltable.c.
References htmltxt_t::box, htmlimg_t::box, htmldata_t::box, htmltbl_t::data, HTML_IMAGE, HTML_TBL, HTML_TEXT, htmllabel_t::img, htmllabel_t::kind, boxf::LL, htmllabel_t::tbl, htmllabel_t::txt, htmllabel_t::u, UNREACHABLE, boxf::UR, and pointf_s::y.
Referenced by emit_html_label().
Definition at line 919 of file htmltable.c.
References htmldata_t::box, HTML_TEXT, htmllabel_t::kind, ND_label, NULL, portToTbl(), htmldata_t::sides, streq(), htmllabel_t::tbl, and htmllabel_t::u.
Referenced by poly_port().
|
static |
Definition at line 379 of file htmltable.c.
References agxbfree(), agxbprint(), agxbuse(), emit_map_rect(), htmlmap_data_t::explicit_tooltip, obj_state_s::explicit_tooltip, obj_state_s::g, getObjId(), gv_strdup(), gvrender_begin_anchor(), id, htmlmap_data_t::id, obj_state_s::id, initMapData(), obj_state_s::n, NULL, GVJ_s::obj, htmlenv_t::objid, htmlenv_t::objid_set, htmlmap_data_t::target, obj_state_s::target, htmlmap_data_t::tooltip, obj_state_s::tooltip, obj_state_s::u, htmlmap_data_t::url, and obj_state_s::url.
Referenced by emit_html_cell(), and emit_html_tbl().
int make_html_label | ( | void * | obj, |
textlabel_t * | lp | ||
) |
Definition at line 1853 of file htmltable.c.
References AGEDGE, aghead, AGNODE, agobjkind(), AGRAPH, agraphof(), agxbfree(), BOTTOM, htmltxt_t::box, htmldata_t::box, CHAR_LATIN1, textlabel_t::charset, textfont_t::color, htmltbl_t::data, textlabel_t::dimen, htmlenv_t::finfo, textfont_t::flags, textlabel_t::fontcolor, textlabel_t::fontname, textlabel_t::fontsize, free(), htmlenv_t::g, GD_gvc, getPenColor(), gv_strdup(), textlabel_t::html, HTML_TBL, htmlEntityUTF8(), htmllabel_t::kind, latin1ToUTF8(), LEFT, boxf::LL, make_simple_label(), textfont_t::name, nameOf(), NULL, htmlenv_t::obj, parseHTML(), htmldata_t::pencolor, pos_html_tbl(), RIGHT, Agraph_s::root, textfont_t::size, size_html_tbl(), size_html_txt(), htmllabel_t::tbl, textlabel_t::text, TOP, htmllabel_t::txt, htmllabel_t::u, textlabel_t::u, boxf::UR, pointf_s::x, and pointf_s::y.
Referenced by make_label().
Definition at line 227 of file htmltable.c.
References delta, boxf::LL, boxf::UR, pointf_s::x, and pointf_s::y.
Referenced by doBorder(), emit_html_cell(), and emit_html_tbl().
|
static |
Definition at line 1697 of file htmltable.c.
References AGEDGE, aghead, agisdirected(), agnameof(), AGNODE, agobjkind(), AGRAPH, agraphof(), agtail, agxbput(), and agxbuse().
Referenced by make_html_label().
|
static |
Definition at line 105 of file htmltable.c.
References textfont_t::color, htmlenv_t::finfo, textfont_t::name, and textfont_t::size.
Referenced by emit_html_tbl(), and size_html_tbl().
|
static |
Definition at line 878 of file htmltable.c.
References htmlcell_t::child, htmlcell_t::data, HTML_TBL, htmllabel_t::kind, NULL, htmldata_t::port, portToTbl(), htmllabel_t::tbl, and htmllabel_t::u.
Referenced by portToTbl().
|
static |
Definition at line 895 of file htmltable.c.
References htmltbl_t::cells, htmltbl_t::data, htmltbl_t::n, NULL, htmldata_t::port, portToCell(), and htmltbl_t::u.
Referenced by html_port(), and portToCell().
|
static |
Definition at line 1397 of file htmltable.c.
References BALIGN_LEFT, BALIGN_MASK, BALIGN_RIGHT, htmldata_t::border, htmltxt_t::box, htmlimg_t::box, htmldata_t::box, htmlcell_t::child, htmltbl_t::data, htmlcell_t::data, FIXED_FLAG, htmldata_t::flags, gv_strdup(), HALIGN_LEFT, HALIGN_MASK, HALIGN_RIGHT, HALIGN_TEXT, HTML_IMAGE, HTML_TBL, htmllabel_t::img, htmllabel_t::kind, boxf::LL, htmldata_t::pad, htmlcell_t::parent, htmldata_t::pencolor, pos_html_img(), pos_html_tbl(), pos_html_txt(), htmldata_t::sides, htmllabel_t::tbl, htmllabel_t::txt, htmllabel_t::u, boxf::UR, VALIGN_BOTTOM, VALIGN_MASK, VALIGN_TOP, pointf_s::x, and pointf_s::y.
Referenced by pos_html_tbl().
Definition at line 1383 of file htmltable.c.
References htmlimg_t::box.
Referenced by pos_html_cell().
Definition at line 1546 of file htmltable.c.
References htmldata_t::border, BOTTOM, htmldata_t::box, htmltbl_t::cells, htmlcell_t::col, htmlcell_t::colspan, htmltbl_t::column_count, htmltbl_t::data, htmlcell_t::data, FIXED_FLAG, htmldata_t::flags, gv_strdup(), HALIGN_LEFT, HALIGN_MASK, HALIGN_RIGHT, htmltbl_t::heights, LEFT, boxf::LL, htmltbl_t::n, htmltbl_t::parent, htmldata_t::pencolor, pos_html_cell(), RIGHT, ROUND, htmlcell_t::row, htmltbl_t::row_count, htmlcell_t::rowspan, htmldata_t::sides, htmldata_t::space, TOP, htmltbl_t::u, boxf::UR, VALIGN_BOTTOM, VALIGN_MASK, VALIGN_TOP, htmltbl_t::widths, pointf_s::x, and pointf_s::y.
Referenced by make_html_label(), and pos_html_cell().
|
static |
Definition at line 1389 of file htmltable.c.
References htextspan_t::just, htmltxt_t::nspans, htmltxt_t::spans, and UNSET_ALIGN.
Referenced by pos_html_cell().
Definition at line 1185 of file htmltable.c.
References bitarray_get(), bitarray_new(), bitarray_reset(), bitarray_set(), htmltbl_t::cells, cnt(), htmlcell_t::col, htmlcell_t::colspan, htmltbl_t::column_count, findCol(), freePS(), gv_calloc(), htmlcell_t::hruled, MAX, htmltbl_t::n, newPS(), htmltbl_t::p, ps, htmlcell_t::row, htmltbl_t::row_count, rows, htmltbl_t::rows, htmlcell_t::rowspan, row_t::rp, row_t::ruled, size_html_cell(), htmltbl_t::u, and UINT16_MAX.
Referenced by size_html_tbl().
|
static |
Definition at line 77 of file htmltable.c.
References textfont_t::color, htmlenv_t::finfo, textfont_t::name, NULL, and textfont_t::size.
Referenced by emit_html_tbl(), and size_html_tbl().
|
static |
set the heights of HTML table cells
This recapitulates the logic of set_cell_widths
on rows.
table | Table to update |
Definition at line 1324 of file htmltable.c.
References gv_calloc(), NULL, and table.
Referenced by size_html_tbl().
|
static |
set the widths of HTML table cells
Graphviz HTML tables were implemented prior to HTML standardization, but the subsequent RFC 1942¹ provides some guidance on “Recommended Layout Algorithms.” Following this, the W3C gave a slightly clearer articulation of essentially the same guidance when specifying CSS.² Many features discussed in this algorithm are not present in Graphviz’ variant of HTML (e.g. widths as percentages) or are not relevant (e.g. the derivation of maximum column widths seems only relevant if you are laying out a table within another elastically sized container like a browser window), but the algorithm is useful nonetheless. This function implements an adapted version of the CSS specification algorithm. Comments that include quotes are quoting the CSS specification.
¹ https://www.ietf.org/rfc/rfc1942.txt ² https://www.w3.org/TR/CSS2/tables.html#width-layout
table | Table to update |
Definition at line 1248 of file htmltable.c.
References gv_calloc(), NULL, and table.
Referenced by size_html_tbl().
|
static |
Definition at line 346 of file htmltable.c.
References color(), DEFAULT_COLOR, FILL, findStopColor(), GRADIENT, gvrender_set_fillcolor(), gvrender_set_gradient_vals(), gvrender_set_pencolor(), htmlstyle_t::radial, and RGRADIENT.
Referenced by emit_html_cell(), and emit_html_tbl().
|
static |
Definition at line 1097 of file htmltable.c.
References agwarningf(), htmldata_t::border, BORDER_SET, htmltxt_t::box, htmlimg_t::box, htmldata_t::box, htmlcell_t::child, htmltbl_t::data, htmlcell_t::data, DEFAULT_BORDER, DEFAULT_CELLPADDING, FIXED_FLAG, htmldata_t::flags, GD_gvc, htmldata_t::height, HTML_IMAGE, HTML_TBL, htmllabel_t::img, htmllabel_t::kind, MAX, htmldata_t::pad, PAD_SET, htmlcell_t::parent, parent, size_html_img(), size_html_tbl(), size_html_txt(), htmllabel_t::tbl, htmllabel_t::txt, htmllabel_t::u, boxf::UR, htmldata_t::width, pointf_s::x, and pointf_s::y.
Referenced by processTbl().
Definition at line 1076 of file htmltable.c.
References agerrorf(), B2BF, htmlimg_t::box, htmlenv_t::g, GD_has_images, gvusershape_size(), box::LL, htmlimg_t::src, box::UR, point::x, and point::y.
Referenced by size_html_cell().
|
static |
Definition at line 1644 of file htmltable.c.
References agwarningf(), htmldata_t::border, BORDER_SET, htmldata_t::box, htmltbl_t::column_count, htmltbl_t::data, DEFAULT_BORDER, DEFAULT_CELLSPACING, FIXED_FLAG, htmldata_t::flags, htmltbl_t::font, htmldata_t::height, htmltbl_t::heights, htmltbl_t::n, htmltbl_t::parent, parent, popFontInfo(), processTbl(), pushFontInfo(), htmltbl_t::row_count, set_cell_heights(), set_cell_widths(), htmldata_t::space, SPACE_SET, htmltbl_t::u, boxf::UR, htmldata_t::width, htmltbl_t::widths, pointf_s::x, and pointf_s::y.
Referenced by make_html_label(), and size_html_cell().
Definition at line 937 of file htmltable.c.
References htmltxt_t::box, textfont_t::color, dtinsert, htmlenv_t::finfo, textfont_t::flags, textspan_t::font, free(), textspan_t::free_layout, gvc, htextspan_t::items, textspan_t::layout, htextspan_t::lfsize, MAX, textfont_t::name, htextspan_t::nitems, htmltxt_t::nspans, NULL, htmlenv_t::obj, simple, htmltxt_t::simple, htextspan_t::size, textfont_t::size, textspan_t::size, htmltxt_t::spans, textspan_t::str, strdup_and_subst_obj(), GVC_s::textfont_dt, textspan_size(), boxf::UR, pointf_s::x, pointf_s::y, textspan_t::yoffset_centerline, and textspan_t::yoffset_layout.
Referenced by make_html_label(), and size_html_cell().