]> granicus.if.org Git - graphviz/commitdiff
some changes to the ad-hoc label positioning at the beginning of xladjust
authorDonald Caldwell <dfwc@research.att.com>
Wed, 4 Jan 2012 19:38:16 +0000 (14:38 -0500)
committerDonald Caldwell <dfwc@research.att.com>
Wed, 4 Jan 2012 19:38:16 +0000 (14:38 -0500)
reporting addition of printobjects added in previous revision

lib/label/xlabels.c

index b688af147b86139d1227c7759c11a8e2dec19b18..c163bbb894368d1390a054a6dcbd2491a7cafd2b 100644 (file)
@@ -454,17 +454,15 @@ static BestPos_t xladjust(XLabels_t * xlp, object_t * objp)
 
     memset(intrsx, 0, sizeof(intrsx));
 
-    /*x left */
+    /* top left */
     lp->pos.x = minx;
-    /*top */
     lp->pos.y = maxy;
     bp = xlintersections(xlp, objp, intrsx);
     if (bp.n == 0)
        return bp;
 
-    /*x right */
+    /* bottom right */
     lp->pos.x = maxx;
-    /* bottom */
     lp->pos.y = miny;
     nbp = xlintersections(xlp, objp, intrsx);
     if (nbp.n == 0)
@@ -472,15 +470,8 @@ static BestPos_t xladjust(XLabels_t * xlp, object_t * objp)
     if (nbp.area < bp.area)
        bp = nbp;
 
-    /*mid */
+    /* bottom left */
     lp->pos.x = minx;
-    lp->pos.y = objp->pos.y;
-    nbp = xlintersections(xlp, objp, intrsx);
-    if (nbp.n == 0)
-       return nbp;
-    if (nbp.area < bp.area)
-       bp = nbp;
-    /*bottom */
     lp->pos.y = miny;
     nbp = xlintersections(xlp, objp, intrsx);
     if (nbp.n == 0)
@@ -488,41 +479,27 @@ static BestPos_t xladjust(XLabels_t * xlp, object_t * objp)
     if (nbp.area < bp.area)
        bp = nbp;
 
-    /*x right */
+    /* top right */
     lp->pos.x = maxx;
-    /*top */
     lp->pos.y = maxy;
     nbp = xlintersections(xlp, objp, intrsx);
     if (nbp.n == 0)
        return nbp;
     if (nbp.area < bp.area)
        bp = nbp;
-    /*mid */
+
+    /* mid left */
+    lp->pos.x = minx;
     lp->pos.y = objp->pos.y;
     nbp = xlintersections(xlp, objp, intrsx);
-    if (nbp.n == 0)
-       return nbp;
-    if (nbp.area < bp.area)
-       bp = nbp;
-    /*bottom */
-    lp->pos.y = miny;
-    nbp = xlintersections(xlp, objp, intrsx);
     if (nbp.n == 0)
        return nbp;
     if (nbp.area < bp.area)
        bp = nbp;
 
-    /*x mid */
-    lp->pos.x = objp->pos.x;
-    /*top */
-    lp->pos.y = maxy;
-    nbp = xlintersections(xlp, objp, intrsx);
-    if (nbp.n == 0)
-       return nbp;
-    if (nbp.area < bp.area)
-       bp = nbp;
-    /*bottom */
-    lp->pos.y = miny;
+    /* mid right */
+    lp->pos.x = maxx;
+    lp->pos.y = objp->pos.y;
     nbp = xlintersections(xlp, objp, intrsx);
     if (nbp.n == 0)
        return nbp;