home *** CD-ROM | disk | FTP | other *** search
/ High Voltage Shareware / high1.zip / high1 / DIR8 / 123EXP.ZIP / WYSIFILE.INC < prev    next >
Text File  |  1993-07-13  |  18KB  |  277 lines

  1. !══════════════════════════════════════════════════════════════════════════════
  2. !   RED - 06/08/93
  3.  
  4. !   This defines the layout of a 1-2-3 2.3 .FMT file used by the WYSIWYG
  5. !   add-in.  The global variables and arrays needed to use the WYSIFILE
  6. !   proc are also defined here.
  7.  
  8. !══════════════════════════════════════════════════════════════════════════════
  9.  
  10. wysiwyg_vars    GROUP,PRE(wyv)  ! Variables needed bu wysifile() that must be
  11.                                 !   set by the caller.
  12. filename            STRING(64)
  13. cluster_lump        BYTE    ! Lump index (count) for the current cluster
  14. cluster_row         BYTE    ! Current row count in the current cluster.  When =
  15.                             !   16, the cluster record is written and this
  16.                             !   is reset to 1.
  17. fonts_to_use        GROUP
  18. font_to_use             BYTE,DIM(2) ! List of the WYSIWYG font numbers (1-8) to
  19.                 .   .               !   use.  This is used by the "std_attr"
  20.                                     !   function in wysifile to determine
  21.                                     !   which fonts to load into the standard
  22.                                     !   attribute table record.  Max of 2 fonts
  23.                                     !   can be used!  First zero entry indicates
  24.                                     !   the end of the font list.
  25. !──────────────────────────────────────────────────────────────────────────────
  26. attr_tab_nos    GROUP,PRE(wat)  ! These variables are used to store the
  27.                                 !   attribute table numbers created by the
  28.                                 !   "std_attr" function in wysifile or when
  29.                                 !   the attributes are assigned "manually" by
  30.                                 !   a module.  Using these variables provides
  31.                                 !   a consistent naming convention for the
  32.                                 !   various attribute combinations.  They
  33.                                 !   should be referenced when the attribute is
  34.                                 !   assigned to a cluster_info record.  NOTE:
  35.                                 !   the first user-defined attribute number is
  36.                                 !   17!
  37.  
  38. attr_fonts          GROUP,DIM(8)    ! Each group group of attributes is repeated,
  39. attr_group              GROUP       !   once for each of the 8 possible fonts.
  40. no_attr                     BYTE    ! Font designation only                   1
  41.  
  42.                                     ! Normal (no bold or shading)
  43. n_l                         BYTE    ! │ left border                           2
  44. n_lr                        BYTE    ! │ │ right border                        3
  45. n_lrt                       BYTE    ! │ │ │ top border                        4
  46. n_lrb                       BYTE    ! │ │ │ bottom border                     5
  47. n_lr_wb                     BYTE    ! │ │ │ wide bottom border                6
  48. n_lr_db                     BYTE    ! │ │ │ double bottom border              7
  49. n_lr_wt                     BYTE    ! │ │  wide top border                   8
  50. n_l_wt                      BYTE    ! │ │ wide top border                     9
  51. n_l_wb                      BYTE    ! │  wide bottom border                 10
  52. n_r                         BYTE    ! │ Right                                11
  53. n_r_wt                      BYTE    ! │ │ wide top border                    12
  54. n_r_wb                      BYTE    ! │  wide bottom border                 13
  55. n_lrtb                      BYTE    ! │ complete border                      14
  56. n_wt                        BYTE    ! │ Wide top                             15
  57. n_wb                        BYTE    ! │ Wide bottom                          16
  58. n_lrt_wb                    BYTE    ! │ │ wide bottom border                 17
  59. n_lrt_db                    BYTE    !   double bottom border               18
  60.  
  61. b                           BYTE    ! Bold                                   19
  62. b_l                         BYTE    ! │ left border                          20
  63. b_lr                        BYTE    ! │ │ right border                       21
  64. b_lrt                       BYTE    ! │ │ │ top border                       22
  65. b_lrb                       BYTE    ! │ │ │ bottom border                    23
  66. b_lr_wb                     BYTE    ! │ │ │ wide bottom border               24
  67. b_lr_db                     BYTE    ! │ │ │ double bottom border             25
  68. b_lr_wt                     BYTE    ! │ │  wide top border                  26
  69. b_l_wt                      BYTE    ! │ │ wide top border                    27
  70. b_l_wb                      BYTE    ! │  wide bottom border                 28
  71. b_r                         BYTE    ! │ Right                                29
  72. b_r_wt                      BYTE    ! │ │ wide top border                    30
  73. b_r_wb                      BYTE    ! │  wide bottom border                 31
  74. b_lrtb                      BYTE    ! │ complete border                      32
  75. b_wt                        BYTE    ! │ Wide top                             33
  76. b_wb                        BYTE    ! │ Wide bottom                          34
  77. b_lrt_wb                    BYTE    ! │ │ wide bottom border                 35
  78. b_lrt_db                    BYTE    ! │  double bottom border               36
  79.                                     ! │
  80. bs                          BYTE    ! │ shade (light)                        37
  81. bs_l                        BYTE    ! │ │ left border                        38
  82. bs_lr                       BYTE    ! │ │ │ right border                     39
  83. bs_lrt                      BYTE    ! │ │ │ │ top border                     40
  84. bs_lrb                      BYTE    ! │ │ │ │ bottom border                  41
  85. bs_lr_wb                    BYTE    ! │ │ │ │ wide bottom border             42
  86. bs_lr_db                    BYTE    ! │ │ │ │ double bottom border           43
  87. bs_lr_wt                    BYTE    ! │ │ │  wide top border                44
  88. bs_l_wt                     BYTE    ! │ │ │ wide top border                  45
  89. bs_l_wb                     BYTE    ! │ │  wide bottom border               46
  90. bs_r                        BYTE    ! │ │ Right                              47
  91. bs_r_wt                     BYTE    ! │ │ │ wide top border                  48
  92. bs_r_wb                     BYTE    ! │ │  wide bottom border               49
  93. bs_lrtb                     BYTE    ! │ │ complete border                    50
  94. bs_wt                       BYTE    ! │ │ Wide top                           51
  95. bs_wb                       BYTE    ! │ │ Wide bottom                        52
  96. bs_lrt_wb                   BYTE    ! │ │ │ wide bottom border               53
  97. bs_lrt_db                   BYTE    !    double bottom border             54
  98.  
  99.                                     ! In text range
  100. no_attr_t                   BYTE    ! No attributes in text range            55
  101.                                     ! Normal (no bold or shading)
  102. nt_l                        BYTE    ! │ left border                          56
  103. nt_lr                       BYTE    ! │ │ right border                       57
  104. nt_lrt                      BYTE    ! │ │ │ top border                       58
  105. nt_lrb                      BYTE    ! │ │ │ bottom border                    59
  106. nt_lr_wb                    BYTE    ! │ │ │ wide bottom border               60
  107. nt_lr_db                    BYTE    ! │ │ │ double bottom border             61
  108. nt_lr_wt                    BYTE    ! │ │  wide top border                  62
  109. nt_l_wt                     BYTE    ! │ │ wide top border                    63
  110. nt_l_wb                     BYTE    ! │  wide bottom border                 64
  111. nt_r                        BYTE    ! │ Right                                65
  112. nt_r_wt                     BYTE    ! │ │ wide top border                    66
  113. nt_r_wb                     BYTE    ! │  wide bottom border                 67
  114. nt_lrtb                     BYTE    ! │ complete border                      68
  115. nt_wt                       BYTE    ! │ Wide top                             69
  116. nt_wb                       BYTE    ! │ Wide bottom                          70
  117. nt_lrt_wb                   BYTE    ! │ │ wide bottom border                 71
  118. nt_lrt_db                   BYTE    !   double bottom border               72
  119.  
  120. bt                          BYTE    ! Bold - Text range, no shade, no border 73
  121. bt_l                        BYTE    ! │ left border                          74
  122. bt_lr                       BYTE    ! │ │ right border                       75
  123. bt_lrt                      BYTE    ! │ │ │ top border                       76
  124. bt_lrb                      BYTE    ! │ │ │ bottom border                    77
  125. bt_lr_wb                    BYTE    ! │ │ │ wide bottom border               78
  126. bt_lr_db                    BYTE    ! │ │ │ double bottom border             79
  127. bt_lr_wt                    BYTE    ! │ │  wide top border                  80
  128. bt_l_wt                     BYTE    ! │ │ wide top border                    81
  129. bt_l_wb                     BYTE    ! │  wide bottom border                 82
  130. bt_r                        BYTE    ! │ Right                                83
  131. bt_r_wt                     BYTE    ! │ │ wide top border                    84
  132. bt_r_wb                     BYTE    ! │  wide bottom border                 85
  133. bt_lrtb                     BYTE    ! │ complete border                      86
  134. bt_wt                       BYTE    ! │ wide top                             87
  135. bt_wb                       BYTE    ! │ wide bottom                          88
  136. bt_lrt_wb                   BYTE    ! │ │ wide bottom border                 89
  137. bt_lrt_db                   BYTE    ! │  double bottom border               90
  138.                                     ! │
  139. bts                         BYTE    ! │ shade (light)                        91
  140. bts_l                       BYTE    ! │ │ left border                        92
  141. bts_lr                      BYTE    ! │ │ │ right border                     93
  142. bts_lrt                     BYTE    ! │ │ │ │ top border                     94
  143. bts_lrb                     BYTE    ! │ │ │ │ bottom border                  95
  144. bts_lr_wb                   BYTE    ! │ │ │ │ wide bottom border             96
  145. bts_lr_db                   BYTE    ! │ │ │ │ double bottom border           97
  146. bts_lr_wt                   BYTE    ! │ │ │  wide top border                98
  147. bts_l_wt                    BYTE    ! │ │ │ wide top border                  99
  148. bts_l_wb                    BYTE    ! │ │  wide bottom border              100
  149. bts_r                       BYTE    ! │ │ Right                             101
  150. bts_r_wt                    BYTE    ! │ │ │ wide top border                 102
  151. bts_r_wb                    BYTE    ! │ │  wide bottom border              103
  152. bts_lrtb                    BYTE    ! │ │ complete border                   104
  153. bts_wt                      BYTE    ! │ │ Wide top                          105
  154. bts_wb                      BYTE    ! │ │ Wide bottom                       106
  155. bts_lrt_wb                  BYTE    ! │ │ │ wide bottom border              107
  156. bts_lrt_db                  BYTE    !    double bottom border            108
  157.                         .
  158. attr_tab_no             BYTE,DIM(108),OVER(attr_group)
  159.                 .   .
  160.  
  161. !──────────────────────────────────────────────────────────────────────────────
  162. wys_file    DOS,NAME(wyv:filename),PRE(wys)
  163. record      RECORD
  164. opcode          SHORT
  165. length          SHORT
  166.  
  167. bof             GROUP
  168. version1            BYTE                    ! 6 here and
  169. version2            BYTE                    ! 128 here for FMT 2 version file
  170.                     GROUP;BYTE,DIM(1024).   ! 1,024 is the largest potential record size
  171.                 .
  172. string          STRING(128),OVER(bof)      ! General use string
  173.  
  174.                 GROUP,OVER(bof)
  175. prt_cart            BYTE            ! 1=Printer supports cartridges
  176.                 .
  177.                 GROUP,OVER(bof)
  178. cartridge_1         STRING(13)      ! Primary cartridge name (ASCIIZ)
  179.                 .
  180.                 GROUP,OVER(bof)
  181. cartridge_2         STRING(13)      ! Secondary cartridge name (ASCIIZ)
  182.                 .
  183.                 GROUP,OVER(bof)
  184. printer_name        STRING(128)     ! Printer name (ASCIIZ).  Full name as
  185.                 .                   !   shown to user in the WYSIWYG print status
  186.                                     !   screen.
  187.                 GROUP,OVER(bof)
  188. port_code           SHORT           ! Printer port (see "port_codes" in wysiwyg.inc)
  189.                 .
  190.                 GROUP,OVER(bof)
  191. baud                SHORT           ! Printer baud rate (see "baud_rates" in wysiwyg.inc)
  192.                 .
  193.                 GROUP,OVER(bof)
  194. driver_name         STRING(128)     ! Internal printer driver name (ASCIIZ)
  195.                 .                   !   (ie. XHPLJ3)
  196.                 GROUP,OVER(bof)
  197. line_color          BYTE            ! Line color
  198.                 .
  199.  
  200.                 GROUP,OVER(bof)
  201. color_neg           BYTE            ! Color for negative numbers (see wysiwyg.inc)
  202.                 .
  203.                 GROUP,OVER(bof)
  204. shadow_color        BYTE            ! Color for shadows
  205.                 .
  206. font_face       GROUP,OVER(bof)     ! Font Faces (8 per file)
  207. font_number         BYTE            ! Font #
  208. font_name           STRING(9)       ! ASCIIZ string (max = 9 characters, ie. HLV, TMS)
  209.                 .
  210.                 GROUP,OVER(bof)     ! PITCH Size (?) of the 8 fonts
  211. font_pitch          SHORT,DIM(8)
  212.                 .
  213.                 GROUP,OVER(bof)     ! The Type of the 8 fonts
  214. font_type           SHORT,DIM(8)    !
  215.                 .
  216.                 GROUP,OVER(bof)     ! The point size of the 8 fonts
  217. font_points         SHORT,DIM(8)    !
  218.                 .
  219. attr_tab        GROUP,OVER(bof)     ! The table of possible attribute combinations
  220. attr_table          GROUP,DIM(256)  ! Max of 256 different combinations
  221. char_attr               BYTE        ! Byte 1 - character display attributes
  222. char_color              BYTE        ! Byte 2 - character color and red negative indicator (bit 7)
  223. bg_attr                 BYTE        ! Byte 3 - Background color, shading, shadow, and text range indicator
  224. border_attr             BYTE        ! Byte 4 - Line border attributes
  225.                 .   .
  226.  
  227. clusters        GROUP,OVER(bof)     ! The list of rows in 16 row blocks with
  228. cluster_no          SHORT ! 0=1     !   the attribute info. One of these records
  229.                                     !   must be produced for each group of 16
  230.                                     !   rows used in a spreadsheet.
  231.                     SHORT           ! (reserved)
  232. cluster_rec         GROUP
  233. row_size                GROUP,DIM(16)   ! On for each row in the cluster
  234. row_height                  BYTE        ! Defaults to font point size + 2
  235. row_attrs                   BYTE
  236.                         .
  237. row_len                 GROUP,DIM(16)
  238. row_lumps                   BYTE        ! Number of LUMPS in each row (0-255)
  239.                         .
  240. lumps                   GROUP,DIM(256)  ! Up to 256 LUMPS per row. DIM is the starting column number.
  241. col_count                   BYTE        ! #of columns this LUMP is in effect (must total 256 for each LUMP!)
  242. attr_style                  BYTE        ! Attribute style (from the attr_tab record) for this LUMP
  243.                 .   .   .
  244.  
  245. prt_settings    GROUP,OVER(bof)     ! The Print settings
  246. UpLeftCol           SHORT           ! Print range - Upper left corner Column (A=0)
  247. UpLeftRow           SHORT           !               "     "    "      Row    (1=0)
  248. LoRghtCol           SHORT           !               Lower right corner Column
  249. LoRghtRow           SHORT           !               "     "    "       Row
  250.  
  251. RowUpLeftCol        SHORT           ! Row Border - Upper left corner Column
  252. RowUpLeftRow        SHORT           !              "     "    "      Row
  253. RowLoRghtCol        SHORT           !              Lower Right corner Column
  254. RowLoRghtRow        SHORT           !              "     "     "      Row
  255.  
  256. ColUpLeftCol        SHORT           ! Column Border - Upper left corner Column
  257. ColUpLeftRow        SHORT           !                 "     "    "      Row
  258. ColLoRghtCol        SHORT           !                 Lower Right corner Column
  259. ColLoRghtRow        SHORT           !                 "     "     "      Row
  260.  
  261. PaperSizeWid        SHORT           ! Paper Size - Width (in thousandths of an inch, ie. 8500 = 8.5")
  262. PaperSizeLen        SHORT           !              Length (11000 = 11.0")
  263.  
  264. MarginLeft          SHORT           ! Left Margin (in thousandths of an inch, ie. 500 = 1/2")
  265. MarginRight         SHORT           ! Right Margin (500 = 1/2")
  266. MarginTop           SHORT           ! Top Margin (1000 = 1.0")
  267. MarginBot           SHORT           ! Right Margin (500 = 1/2")
  268.  
  269. print_flags         BYTE            ! Various Print settings (ie, see "prt_set_attr" in wysiwyg.inc)
  270. page_breaks         BYTE,DIM(32)    ! Page breaks by column groups
  271. paper_bin           SHORT           ! 0=Default
  272.                     SHORT           ! Reserved
  273. copies              SHORT           ! Number of copies
  274. compression         SHORT           ! 15 - 1000%
  275. paper_type          SHORT           ! Paper type
  276. .           .   .
  277.