1 /************************************************************************/
2 /*									*/
3 /*  Document Layout: The frame in which a series of paragraps and	*/
4 /*  table rows is to be layed out on the page.				*/
5 /*									*/
6 /************************************************************************/
7 
8 #   ifndef	DOC_STRIP_FRAME_H
9 #   define	DOC_STRIP_FRAME_H
10 
11 #   include	<geo2DInteger.h>
12 
13 /************************************************************************/
14 /*									*/
15 /*  The frame in which a series of successive lines in a paragraph is	*/
16 /*  is formatted. The frame lies on one page.				*/
17 /*									*/
18 /*  pfContentRect: The rectangle in which text lines are fitted. The	*/
19 /*	first line potentially has a different rectangle (x0). With a	*/
20 /*	negative first line indent, the first line protrudes outside	*/
21 /*	pfContentRect to the left. [This is what CCS2 calls the content	*/
22 /*	rectangle of a box. I think.]					*/
23 /*  pfParentRect: The rectangle determined by the parent block or table	*/
24 /*	column. Indents are subtracted from this rectangle. Tabs are	*/
25 /*	relative to its left side.					*/
26 /*									*/
27 /*  Coordinates are absolute coordinates on the page or on the window.	*/
28 /*  [On the window they are shifted by the scrollbars.]			*/
29 /*									*/
30 /************************************************************************/
31 
32 typedef struct ParagraphFrame
33     {
34     DocumentRectangle	pfParaContentRect;
35     DocumentRectangle	pfCellContentRect;
36     DocumentRectangle	pfCellRect;
37 
38     int			pfRedrawX0Twips;
39     int			pfRedrawX1Twips;
40     } ParagraphFrame;
41 
42 /************************************************************************/
43 /*									*/
44 /*  Routine declarations.						*/
45 /*									*/
46 /************************************************************************/
47 
48 extern void docInitParagraphFrame(	ParagraphFrame *	pf );
49 
50 #   endif /*	DOC_STRIP_FRAME_H */
51