summaryrefslogtreecommitdiff
path: root/paper.h
diff options
context:
space:
mode:
authorSimon Tatham <anakin@pobox.com>2004-04-14 17:33:15 +0000
committerSimon Tatham <anakin@pobox.com>2004-04-14 17:33:15 +0000
commit45561806db03656190969ea7d76766e1ec2dec62 (patch)
tree40c61a7ecc82f1ca28ecb1dbc178ffe4bcbf3fab /paper.h
parentf538ac65365594fb0928c2e986c951e5a94282e6 (diff)
downloadhalibut-45561806db03656190969ea7d76766e1ec2dec62.zip
halibut-45561806db03656190969ea7d76766e1ec2dec62.tar.gz
halibut-45561806db03656190969ea7d76766e1ec2dec62.tar.bz2
halibut-45561806db03656190969ea7d76766e1ec2dec62.tar.xz
Implemented an index. Good _grief_, that was hard work to get all
the fine details right. [originally from svn r4072]
Diffstat (limited to 'paper.h')
-rw-r--r--paper.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/paper.h b/paper.h
index fe2e795..8bb3061 100644
--- a/paper.h
+++ b/paper.h
@@ -149,6 +149,12 @@ struct para_data_Tag {
RECT_NONE, RECT_CHAPTER_UNDERLINE, RECT_RULE
} rect_type;
/*
+ * We left- and right-justify in special circumstances.
+ */
+ enum {
+ JUST, LEFT, RIGHT
+ } justification;
+ /*
* For constructing the page outline.
*/
int outline_level; /* 0=title 1=C 2=H 3=S 4=S2... */
@@ -183,6 +189,7 @@ struct line_data_Tag {
word *end;
int xpos;
int hshortfall, nspaces; /* for justifying paragraphs */
+ int real_shortfall;
/*
* Auxiliary text: a section number in a margin, or a list item
* bullet or number. Also mention where to display this text
@@ -209,9 +216,9 @@ struct line_data_Tag {
/*
* These fields are used in the page breaking algorithm.
*/
- int bestcost;
- int vshortfall, text, space;
- line_data *page_last; /* last line on a page starting here */
+ int *bestcost;
+ int *vshortfall, *text, *space;
+ line_data **page_last; /* last line on a page starting here */
/*
* After page breaking, we can assign an actual y-coordinate on
* the page to each line. Also we store a pointer back to the