Graphviz 13.0.0~dev.20241220.2304
|
#include <assert.h>
#include <errno.h>
#include <limits.h>
#include <math.h>
#include <stdbool.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <label/xlabels.h>
#include <util/alloc.h>
#include <util/exit.h>
Go to the source code of this file.
Macros | |
#define | XLABEL_INT |
Functions | |
static int | icompare (void *, void *) |
static XLabels_t * | xlnew (object_t *objs, size_t n_objs, xlabel_t *lbls, size_t n_lbls, label_params_t *params) |
static void | xlfree (XLabels_t *xlp) |
static unsigned int | xlhorder (XLabels_t *xlp) |
static unsigned int | hd_hil_s_from_xy (point p, int n) |
static double | aabbaabb (Rect_t *r, Rect_t *s) |
static bool | lblenclosing (object_t *objp, object_t *objp1) |
static Rect_t | objp2rect (const object_t *op) |
static Rect_t | objplp2rect (const object_t *objp) |
static Rect_t | objplpmks (object_t *objp) |
static int | getintrsxi (object_t *op, object_t *cp) |
static double | recordointrsx (object_t *op, object_t *cp, Rect_t *rp, double a, object_t *intrsx[XLNBR]) |
static double | recordlintrsx (object_t *op, object_t *cp, Rect_t *rp, double a, object_t *intrsx[XLNBR]) |
static BestPos_t | xlintersections (XLabels_t *xlp, object_t *objp, object_t *intrsx[XLNBR]) |
static BestPos_t | xladjust (XLabels_t *xlp, object_t *objp) |
static int | xlhdxload (XLabels_t *xlp) |
static void | xlhdxunload (XLabels_t *xlp) |
static void | xlspdxload (XLabels_t *xlp) |
static int | xlinitialize (XLabels_t *xlp) |
int | placeLabels (object_t *objs, size_t n_objs, xlabel_t *lbls, size_t n_lbls, label_params_t *params) |
Variables | |
Dtdisc_t | Hdisc |
Definition at line 140 of file xlabels.c.
References Rect::boundary, and Overlap().
Referenced by recordlintrsx(), recordointrsx(), and xlintersections().
Definition at line 222 of file xlabels.c.
References object_t::lbl, object_t::pos, xlabel_t::set, pointf_s::x, and pointf_s::y.
Referenced by recordlintrsx(), and recordointrsx().
|
static |
Definition at line 116 of file xlabels.c.
References point::x, and point::y.
Referenced by xlhdxload().
Definition at line 166 of file xlabels.c.
References object_t::lbl, xlabel_t::pos, object_t::pos, xlabel_t::sz, object_t::sz, pointf_s::x, and pointf_s::y.
Referenced by xlintersections().
Definition at line 180 of file xlabels.c.
References Rect::boundary, object_t::pos, object_t::sz, pointf_s::x, and pointf_s::y.
Referenced by recordlintrsx(), recordointrsx(), and xlintersections().
Definition at line 190 of file xlabels.c.
References Rect::boundary, object_t::lbl, xlabel_t::pos, xlabel_t::sz, pointf_s::x, and pointf_s::y.
Referenced by recordlintrsx(), recordointrsx(), and xlintersections().
Definition at line 201 of file xlabels.c.
References Rect::boundary, object_t::lbl, object_t::pos, xlabel_t::sz, object_t::sz, pointf_s::x, and pointf_s::y.
Referenced by xlhdxload().
int placeLabels | ( | object_t * | objs, |
size_t | n_objs, | ||
xlabel_t * | lbls, | ||
size_t | n_lbls, | ||
label_params_t * | params | ||
) |
Definition at line 579 of file xlabels.c.
References label_params_t::force, object_t::lbl, xlabel_t::pos, xlabel_t::set, pointf_s::x, xladjust(), xlfree(), xlinitialize(), xlnew(), and pointf_s::y.
Referenced by addXLabels().
|
static |
Definition at line 290 of file xlabels.c.
References aabbaabb(), getintrsxi(), NULL, objp2rect(), and objplp2rect().
Referenced by xlintersections().
|
static |
Definition at line 258 of file xlabels.c.
References aabbaabb(), getintrsxi(), NULL, objp2rect(), and objplp2rect().
Referenced by xlintersections().
|
static |
Definition at line 381 of file xlabels.c.
References object_t::lbl, xlabel_t::pos, object_t::pos, xlabel_t::sz, object_t::sz, pointf_s::x, xlintersections(), and pointf_s::y.
Referenced by placeLabels().
|
static |
Definition at line 66 of file xlabels.c.
References free(), and RTreeClose().
Referenced by placeLabels().
|
static |
Definition at line 520 of file xlabels.c.
References dtinsert, gv_alloc(), hd_hil_s_from_xy(), objplpmks(), point::x, xlhorder(), and point::y.
Referenced by xlinitialize().
|
static |
|
static |
Definition at line 78 of file xlabels.c.
Referenced by xlhdxload().
|
static |
Definition at line 569 of file xlabels.c.
References dtclose(), xlhdxload(), xlhdxunload(), and xlspdxload().
Referenced by placeLabels().
|
static |
Definition at line 322 of file xlabels.c.
References aabbaabb(), object_t::lbl, lblenclosing(), LeafList::next, objp2rect(), objplp2rect(), xlabel_t::pos, recordlintrsx(), recordointrsx(), RTreeLeafListFree(), RTreeSearch(), and xlabel_t::set.
Referenced by xladjust().
|
static |
Definition at line 41 of file xlabels.c.
References Dtobag, dtopen(), graphviz_exit(), gv_alloc(), Hdisc, and RTreeOpen().
Referenced by placeLabels().
|
static |
Definition at line 562 of file xlabels.c.
References dtfirst, dtnext, and RTreeInsert().
Referenced by xlinitialize().