diff options
author | Jeffrey H. Kingston <jeff@it.usyd.edu.au> | 2010-09-14 20:37:45 +0000 |
---|---|---|
committer | Jeffrey H. Kingston <jeff@it.usyd.edu.au> | 2010-09-14 20:37:45 +0000 |
commit | c89f0bc2209f7f98695e6b94fbac316c84fbf9d4 (patch) | |
tree | 456d506bd18edd3b768eaffa8f70ae93565682e4 /z23.c | |
parent | 7db8921aac3a0e1223af269ec7092bdd91a7c7a2 (diff) | |
download | lout-c89f0bc2209f7f98695e6b94fbac316c84fbf9d4.tar.gz |
Lout 3.25.
git-svn-id: http://svn.savannah.nongnu.org/svn/lout/trunk@19 9365b830-b601-4143-9ba8-b4a8e2c3339c
Diffstat (limited to 'z23.c')
-rw-r--r-- | z23.c | 33 |
1 files changed, 23 insertions, 10 deletions
@@ -1,7 +1,7 @@ /*@z23.c:Galley Printer:ScaleFactor()@****************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.24) */ -/* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.25) */ +/* COPYRIGHT (C) 1991, 2001 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ /* Basser Department of Computer Science */ @@ -590,20 +590,33 @@ OBJECT FixAndPrintObject(OBJECT x, FULL_LENGTH xmk, FULL_LENGTH xb, case LINK_SOURCE: case LINK_DEST: + case LINK_URL: CountChild(y, LastDown(x), count); if( dim == COLM ) save_mark(x) = xmk; else { Child(z, Down(x)); - if( type(x) == LINK_SOURCE ) - BackEnd->LinkSource(z, save_mark(x) - back(x, COLM), - (pg - xmk) - xf, save_mark(x) + fwd(x, COLM), - (pg - xmk) + xb); - else - BackEnd->LinkDest(z, save_mark(x) - back(x, COLM), - (pg - xmk) - xf, save_mark(x) + fwd(x, COLM), - (pg - xmk) + xb); + switch( type(x) ) + { + case LINK_SOURCE: + + BackEnd->LinkSource(z, save_mark(x) - back(x, COLM), + (pg - xmk) - xf, save_mark(x) + fwd(x, COLM), (pg - xmk) + xb); + break; + + case LINK_DEST: + + BackEnd->LinkDest(z, save_mark(x) - back(x, COLM), + (pg - xmk) - xf, save_mark(x) + fwd(x, COLM), (pg - xmk) + xb); + break; + + case LINK_URL: + + BackEnd->LinkURL(z, save_mark(x) - back(x, COLM), + (pg - xmk) - xf, save_mark(x) + fwd(x, COLM), (pg - xmk) + xb); + break; + } } y = FixAndPrintObject(y, xmk, xb, xf, dim, NO_SUPPRESS, pg, count, &aback, &afwd); |