aboutsummaryrefslogtreecommitdiffstats
path: root/z23.c
diff options
context:
space:
mode:
authorJeffrey H. Kingston <jeff@it.usyd.edu.au>2010-09-14 20:37:45 +0000
committerJeffrey H. Kingston <jeff@it.usyd.edu.au>2010-09-14 20:37:45 +0000
commitc89f0bc2209f7f98695e6b94fbac316c84fbf9d4 (patch)
tree456d506bd18edd3b768eaffa8f70ae93565682e4 /z23.c
parent7db8921aac3a0e1223af269ec7092bdd91a7c7a2 (diff)
downloadlout-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.c33
1 files changed, 23 insertions, 10 deletions
diff --git a/z23.c b/z23.c
index 200b145..39abc53 100644
--- a/z23.c
+++ b/z23.c
@@ -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);