1 /*        BEGIN INCLUDE FILE comp_page.incl.pl1   */
  2 
  3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */
  4 
  5      dcl max_image_lines
  6                         fixed static options (constant) init (1000);
  7      dcl max_cols       fixed static options (constant) init (20);
  8 
  9      dcl page_version   fixed bin static options (constant) init (5);
 10                                         /* composed page structure */
 11      dcl 1 page         aligned based (const.page_ptr),
 12            2 version    fixed bin,      /* version of this structure */
 13            2 parms      aligned like page_parms,
 14                                         /* page formatting parameters */
 15            2 hdr        aligned like page_header,
 16                                         /* page control stuff */
 17            2 image_ptr  ptr,            /* pointer to the madeup page image */
 18            2 column_ptr (0:20) ptr,     /* pointers to the column structures */
 19            2 col_image_ptr
 20                         (-2:21) ptr;    /* pointers to column images  */
 21                                         /* col -1 is for line numbers and */
 22                                         /* left margin change bars; */
 23                                         /* col -2 is for */
 24                                         /* right margin change bars  */
 25                                         /* and/or annotation * /
 26                                         /* page control stuff */
 27      dcl 1 page_header  aligned based (const.page_header_ptr),
 28            2 sws,
 29              3 art      bit (1) unal,   /* 1 = header/footer art */
 30              3 blankpage
 31                         bit (1) unal,   /* 1 = intentional blank page */
 32              3 frontpage
 33                         bit (1) unal,   /* 1 = odd page number */
 34              3 headed   bit (1) unal,   /* 1 = page header has been written */
 35              3 modified bit (1) unal,   /* 1 = page has been modified */
 36              3 overflow bit (1) unal,   /* OBSOLETE */
 37              3 MBZ      bit (12) unal,
 38              3 dot_addltr
 39                         char (1) unal,  /* dot page add letter, if any */
 40              3 pgc_select
 41                         char (1) unal,  /* for selecting change pages */
 42            2 baldepth   fixed bin (31), /* page depth at balance point */
 43            2 balusd     fixed bin (31), /* space used at balance point */
 44            2 col_count  fixed bin,      /* highest value of col_index for the page */
 45            2 col_index  fixed bin,      /* column index */
 46            2 depth      fixed bin (31), /* current page depth */
 47            2 hdspc      fixed bin (31), /* TOP white space */
 48            2 lmarg      fixed bin (31), /* left margin for this page */
 49            2 net        fixed bin (31), /* net usable space on the page */
 50            2 pageno     char (32) var,  /* current page number */
 51            2 used       fixed bin (31); /* space already used on the page */
 52 
 53      dcl page_image_version
 54                         fixed bin (35) static options (constant) init (2);
 55                                         /* structure passed to writers */
 56      dcl 1 page_image   aligned based (page.image_ptr),
 57            2 version    fixed bin (35), /* structure version no */
 58            2 count      fixed bin,      /* count of page image lines */
 59            2 file_id    char (32) var,  /* compout identifier */
 60            2 func       fixed bin,      /* function code; 0 = build,
 61                                            1 = intialize, 2 = cleanup */
 62            2 text_ptr   ptr,            /* pointer to the text area */
 63                                         /* the image lines */
 64            2 line       (max_image_lines),
 65              3 sws,
 66                4 quad   bit (6) unal,   /* text set position flags */
 67                4 art    bit (1) unal,   /* 1 = artwork in the line */
 68                4 cbar   bit (1) unal,   /* 1= line has a cbar, dont erase */
 69                4 mrgtxt bit (1) unal,   /* line number or marginal note */
 70                4 white  bit (1) unal,   /* line is white */
 71                4 MBZ    bit (26) unal,
 72              3 depth    fixed bin (31), /* page depth for the text */
 73              3 gaps     fixed bin,      /* number of WS gaps in the line */
 74              3 info     like text_entry.info,
 75                                         /* input file info */
 76              3 lead     fixed bin (31), /* lead value if trailing WS */
 77              3 lfnt     fixed bin,      /* font at the left margin */
 78              3 lmarg    fixed bin (31), /* text left margin position */
 79              3 lsize    fixed bin (31), /* pointsize at the left margin */
 80              3 net      fixed bin (31), /* net width for filling */
 81              3 pos      fixed bin (31), /* current horiz position */
 82              3 ptr      ptr,            /* pointer to the text */
 83              3 rmarg    fixed bin (31), /* text right margin position */
 84              3 width    fixed bin (31); /* width of the text */
 85                                         /* current page formatting parms */
 86      dcl 1 page_parms   aligned based (const.page_parms_ptr),
 87            2 init_page_depth
 88                         fixed bin (31), /* initial page depth */
 89            2 length     fixed bin (31), /* page length */
 90            2 lmarg,                     /* page left margin */
 91              3 even     fixed bin (31),
 92              3 odd      fixed bin (31),
 93            2 margin,                    /* margin values */
 94              3 top      fixed bin (31),
 95              3 header   fixed bin (31),
 96              3 footer   fixed bin (31),
 97              3 bottom   fixed bin (31),
 98            2 measure    fixed bin (31), /* line space available for text */
 99            2 net,                       /* net usable space on page */
100              3 even     fixed bin (31), /* even pages */
101              3 odd      fixed bin (31), /* odd pages */
102                                         /* arrays at the end */
103            2 cols,                      /* columns defined for the page */
104              3 bal      bit (1) unal,   /* column balancing control flag */
105              3 MBZ      bit (17) unal,
106              3 count    fixed bin unal; /* the number of columns */
107                                         /* default page formatting parms */
108      dcl 1 init_page_parms
109                         aligned like page_parms
110                         based (const.init_page_parms_ptr);
111 
112 /*        END INCLUDE FILE comp_page.incl.pl1     */