home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 2 / crawlyvol2.bin / apps / dtp / pgsmodst / atariimp / equ.h < prev    next >
Text File  |  1991-06-21  |  23KB  |  812 lines

  1. *    this is the equates file
  2. *
  3. * document structure - each document has a memory block for it's document
  4. *  structure, which has a memory block for the object table structure, and
  5. *  a memory block for the group list.  The memory handle to this structure is
  6. *  store in w_tbl structure as memhndl
  7. *
  8. whandle    equ    0        ;long    ;the handle of this doc's window
  9. wmp    equ    whandle+4    ;long    ;this windows message port
  10. wnext    equ    wmp        ;long    ;for the ST next window
  11. wgadget    equ    wmp+4        ;long    ;gadget memory
  12. wtype    equ    wgadget+4    ;byte    ;1 for document, 3 for clone
  13. changed    equ    wtype+1        ;byte    ;has the document been edited?
  14. wname    equ    changed+1    ;30 chr    ;null terminated window name (title on window)
  15. wpath    equ    wname+30    ;200chr    ;this document's directory
  16.  
  17. left    equ    wpath+200    ;word    ;the actual inside dimensions of the window
  18. top    equ    left+2        ;word    ;  for this document.  Usually the same as
  19. width    equ    top+2        ;word    ;  plft,ptop,pwdth,pht.
  20. height    equ    width+2        ;word
  21.  
  22. wlft    equ    height+2    ;word    ;the portion of the page we can see
  23. wtop    equ    wlft+4        ;word    ;  in the screen window.
  24. wrht    equ    wtop+4        ;word
  25. wbtm    equ    wrht+4        ;word
  26.  
  27. plft    equ    wbtm+4        ;word    ;the physical portion of the screen the 3600dpi
  28. ptop    equ    plft+2        ;word    ;  counterparts (wlft,wtop,wrht,wbtm)
  29. pwdth    equ    ptop+2        ;word
  30. pht    equ    pwdth+2        ;word
  31.  
  32. dleft    equ    pht+2        ;long
  33. dtop    equ    dleft+4        ;long
  34. dright    equ    dtop+4        ;long
  35. dbottom    equ    dright+4    ;long
  36.  
  37. vscale    equ    dbottom+4    ;word    ;the current viewing scale (% * 100)
  38. uscale    equ    vscale+2    ;word    ;the user viewing scale (% * 100)
  39. zscale    equ    uscale+2    ;word    ;the last zoom scale (% * 100)
  40. xhitzone    equ    zscale+2    ;long    ;used to scale x-coords to the screen
  41. yhitzone    equ    xhitzone+4    ;long    ;used to scale y-coords to the screen
  42. pagew    equ    yhitzone+4    ;long    ;the width of the document
  43. pageh    equ    pagew+4        ;long    ;the height of the document
  44. hbleed    equ    pageh+4        ;long    ;horizontal page bleed
  45. vbleed    equ    hbleed+4    ;long    ;vertical page bleed
  46. docflag    equ    vbleed+4    ;word    ;landscape or portait / single or double sided
  47. PAGEMODE    equ    3    ;bits 0 & 1
  48. DOUBLE        equ    3
  49. UGRID        equ    5
  50. UGUIDES        equ    6
  51. UINSMODE    equ    7
  52.  
  53. mode    equ    docflag+2        ;byte    ;which toolbox mode this document is in
  54. dmode    equ    mode+1        ;byte    ;which drawing object mode this doc is in
  55. vflag    equ    dmode+1        ;byte    ;which viewing modes are on (rulers, etc)
  56. SRULER        equ    0
  57. STABS        equ    1
  58. SPICTURE    equ    2
  59. SOUTLINE    equ    3
  60. SGRID        equ    4
  61. SGUIDES        equ    5
  62. SROUTE        equ    6
  63. vmode    equ    vflag+1        ;byte    ;which view mode document is in
  64. *                    0=full page
  65. *                    1=50%
  66. *                    2=100%
  67. *                    3=200%
  68. *                    4=full width
  69. *                    5=user scale
  70.  
  71. obj_tbl    equ    vmode+1        ;long    ;object table memory handle
  72. group    equ    obj_tbl+4    ;long    ;group list memory handle
  73.  
  74. numobj    equ    group+4        ;word    ;number of entries in the object table struct
  75. pgoff    equ    numobj+2    ;word    ;the starting page number for this doc -1
  76. lcurpg    equ    pgoff+2        ;word
  77. rcurpg    equ    lcurpg+2    ;word
  78. curpage    equ    rcurpg+2    ;word    ;the current page number viewing
  79. prevpage    equ    curpage+2    ;word    ;previous page number viewed
  80.  
  81. mrkflag    equ    prevpage+2    ;byte    ;set if text is marked
  82. csrflag    equ    mrkflag+1    ;byte    ;set if cursor is placed
  83.  
  84. csrcol    equ    csrflag+1    ;word    ;column where cursor lies
  85. csroff    equ    csrcol+2    ;long    ;offset into column(csrcol) for cursor position
  86. csrloff    equ    csroff+4    ;long    ;offset into line table for cursor
  87. csrch    equ    csrloff+4    ;long    ;cursor ch
  88. csrcv    equ    csrch+4        ;long    ;cursor cv
  89. csrht    equ    csrcv+4        ;long    ;cursor height
  90. csrtch    equ    csrht+4        ;long    ;cursor ch
  91. csrtcv    equ    csrtch+4    ;long    ;cursor cv
  92.  
  93. mrkcol1    equ    csrtcv+4    ;word    ;column that hilight begins in
  94. mrkcol2    equ    mrkcol1+2    ;word    ;column that hilight ends in
  95. mrkch1    equ    mrkcol2+2    ;long    ;hilights ch start
  96. mrkch2    equ    mrkch1+4    ;long    ;hilights ch end
  97. mrkoff1    equ    mrkch2+4    ;long    ;offset into column(mrkcol1) for bgn of hilight
  98. mrkoff2    equ    mrkoff1+4    ;long    ;offset into column(mrkcol2) for end of hilight
  99. mrklof1    equ    mrkoff2+4    ;long    ;offset into lntable for beginning of hilight
  100. mrklof2    equ    mrklof1+4    ;long    ;offset into lntable for end of hilight
  101.  
  102. *      must be in this order
  103. dc_Defines    equ    mrklof2+4
  104. dc_Font        equ    dc_Defines+4    ;font
  105. dc_Attrb    equ    dc_Font+4    ;attributes
  106. dc_XPoint    equ    dc_Attrb+4    ;x point size
  107. dc_YPoint    equ    dc_XPoint+4    ;y point size
  108. dc_Spacing    equ    dc_YPoint+4    ;character spacing
  109. dc_Lead        equ    dc_Spacing+2    ;leading amount, or auto leading offset
  110. dc_BMod        equ    dc_Lead+2    ;baseline offset
  111. dc_PIndent    equ    dc_BMod+2    ;paragraph indent/outdent
  112. dc_LIndent    equ    dc_PIndent+2    ;left indent
  113. dc_RIndent    equ    dc_LIndent+2    ;right indent
  114. dc_Tag        equ    dc_RIndent+2    ;tag
  115. dc_Justify    equ    dc_Tag+1    ;line justify/paragraph format
  116. dc_CFStyle    equ    dc_Justify+1    ;character fill style
  117. dc_CFColor    equ    dc_CFStyle+1    ;character fill color
  118. dc_CLStyle    equ    dc_CFColor+1    ;character line style
  119. dc_CLColor    equ    dc_CLStyle+1    ;character line color
  120. dc_CLWidth    equ    dc_CLColor+1    ;character line width
  121. *
  122. cs_Defines    equ    dc_CLWidth+2
  123. cs_Font        equ    cs_Defines+4    ;font
  124. cs_Attrb    equ    cs_Font+4    ;attributes
  125. cs_XPoint    equ    cs_Attrb+4    ;x point size
  126. cs_YPoint    equ    cs_XPoint+4    ;y point size
  127. cs_Spacing    equ    cs_YPoint+4    ;character spacing
  128. cs_Lead        equ    cs_Spacing+2    ;leading amount, or auto leading offset
  129. cs_BMod        equ    cs_Lead+2    ;baseline offset
  130. cs_PIndent    equ    cs_BMod+2    ;paragraph indent/outdent
  131. cs_LIndent    equ    cs_PIndent+2    ;left indent
  132. cs_RIndent    equ    cs_LIndent+2    ;right indent
  133. cs_Tag        equ    cs_RIndent+2    ;tag
  134. cs_Justify    equ    cs_Tag+1    ;line justify/paragraph format
  135. cs_CFStyle    equ    cs_Justify+1    ;character fill style
  136. cs_CFColor    equ    cs_CFStyle+1    ;character fill color
  137. cs_CLStyle    equ    cs_CFColor+1    ;character line style
  138. cs_CLColor    equ    cs_CLStyle+1    ;character line color
  139. cs_CLWidth    equ    cs_CLColor+1    ;character line width
  140.  
  141. *      to here
  142. super    equ    cs_CLWidth+2        ;amount to superscript by
  143. subs    equ    super+2            ;amount to subscript by
  144.  
  145. pindent        equ    subs+2        ;amount for paragraph indent
  146. poutdent    equ    pindent+2    ;amount for paragraph outdent
  147.  
  148. mngreek    equ    poutdent+2    ;minimum point size shown correctly
  149. mxgreek    equ    mngreek+4    ;maximum point size shown correctly
  150.  
  151.  
  152. lwdth    equ    mxgreek+4    ;current line width
  153. ltype    equ    lwdth+2        ;current line type
  154. lcolor    equ    ltype+1        ;current line color
  155. ftype    equ    lcolor+1    ;current fill type
  156. fcolor    equ    ftype+1        ;current fill color
  157. lbgn    equ    fcolor+1    ;current beginning line type
  158. lend    equ    lbgn+1        ;current ending line type
  159.  
  160. gridw    equ    lend+1        ;document grid width
  161. gridh    equ    gridw+2        ;document grid height
  162. ufill    equ    gridh+2        ;user definable fill pattern
  163. uline    equ    ufill+32    ;user definable line type
  164.  
  165. mstrpg    equ    uline+2
  166. *
  167. *
  168. *
  169. *
  170. *
  171. l_hg    equ    mstrpg+128    ;32 longs    ;vertical guides table
  172. l_vg    equ    l_hg+128    ;32 longs    ;horizontal guides table
  173. r_hg    equ    l_vg+128
  174. r_vg    equ    r_hg+128
  175. tagnumber    equ    r_vg+128
  176. tagtable    equ    tagnumber+2
  177. clrtable    equ    tagtable+4
  178. dc_Sizeof    equ    clrtable+512
  179.  
  180.  
  181. *
  182. * this is the data structure for pictures. the first few bytes have a
  183. * similar purpose as those of the document structure
  184. *
  185. pi_CX1        equ    vmode+1        ;current outside window dimensions
  186. pi_CY1        equ    pi_CX1+2
  187. pi_CX2        equ    pi_CY1+2
  188. pi_CY2        equ    pi_CX2+2
  189. pi_OX1        equ    pi_CY2+2    ;previous outside window dimensions
  190. pi_OY1        equ    pi_OX1+2
  191. pi_OX2        equ    pi_OY1+2
  192. pi_OY2        equ    pi_OX2+2
  193.  
  194. pi_Type        equ    pi_CX1+20
  195. pi_SFreq    equ    pi_Type+2    ;screen frequency
  196. pi_SAngle    equ    pi_SFreq+2    ;screen angle
  197. pi_SSpot    equ    pi_SAngle+2    ;spot function
  198. pi_SMap        equ    pi_SSpot+2    ;mapping function
  199. pi_XDpi        equ    pi_SMap+258    ;x dots per inch
  200. pi_YDpi        equ    pi_XDpi+2    ;y dots per inch
  201. pi_W        equ    pi_YDpi+2    ;pixels wide
  202. pi_H        equ    pi_W+2        ;pixels high
  203. pi_Width    equ    pi_H+2        ;words wide
  204. pi_BitPln    equ    pi_Width+2    ;number of bit planes
  205. pi_Palet    equ    pi_BitPln+2    ;color pallet entries (8 bytes per)
  206. pi_Ptr        equ    pi_Palet+2    ;offset to bit map data
  207.  
  208. pi_DScale    equ    pi_Ptr+4
  209. pi_DW        equ    pi_DScale+2
  210. pi_DH        equ    pi_DW+2
  211. pi_DWidth    equ    pi_DH+2
  212. pi_DBitPln    equ    pi_DWidth+2
  213. pi_DPtr        equ    pi_DBitPln+2
  214.  
  215. pi_Sizeof    equ    pi_DPtr+4
  216.  
  217.  
  218. ***
  219. ***
  220. * equates for the tag table
  221. tg_Defines    equ    0
  222. tg_Name        equ    tg_Defines+4
  223. TG_NAMELEN    equ    27
  224. tg_Font        equ    tg_Name+28
  225. tg_Attrb    equ    tg_Font+4
  226. tg_XPoint    equ    tg_Attrb+4
  227. tg_YPoint    equ    tg_XPoint+4
  228. tg_Spacing    equ    tg_YPoint+4
  229. tg_Lead        equ    tg_Spacing+2
  230. tg_BMod        equ    tg_Lead+2
  231. tg_PIndent    equ    tg_BMod+2
  232. tg_LIndent    equ    tg_PIndent+2
  233. tg_RIndent    equ    tg_LIndent+2
  234. tg_unused    equ    tg_RIndent+2
  235. tg_Justify    equ    tg_unused+1
  236. tg_CFStyle    equ    tg_Justify+1
  237. tg_CFColor    equ    tg_CFStyle+1
  238. tg_CLStyle    equ    tg_CFColor+1
  239. tg_CLColor    equ    tg_CLStyle+1
  240. tg_CLWidth    equ    tg_CLColor+1
  241. tg_Sizeof    equ    tg_CLWidth+2
  242.  
  243. * tf_Defines values are
  244. *
  245. TG_FONT        equ    0
  246. TG_ATTRB    equ    1
  247. TG_POINT    equ    2
  248. TG_SPACING    equ    3
  249. TG_LEAD        equ    4
  250. TG_BMOD        equ    5
  251. TG_PINDENT    equ    6
  252. TG_INDENT    equ    7
  253. TG_TAG        equ    8
  254. TG_JUSTIFY    equ    9
  255. TG_CFSTYLE    equ    10
  256. TG_CFCOLOR    equ    11
  257. TG_CLSTYLE    equ    12
  258. TG_CLCOLOR    equ    13
  259. TG_CLWIDTH    equ    14
  260.  
  261. ***
  262. ***
  263. * equates for the color table
  264.  
  265. cl_Name        equ    0        ;23 char (nul terminated)
  266. cl_Type        equ    cl_Name+24
  267. cl_Cyan        equ    cl_Type+2
  268. cl_Magenta    equ    cl_Cyan+2
  269. cl_Yellow    equ    cl_Magenta+2
  270. cl_Black    equ    cl_Yellow+2
  271. cl_Map        equ    cl_Black+2
  272. cl_Sizeof    equ    cl_Map+2
  273. CL_NAMELEN    equ    cl_Type-cl_Name
  274.  
  275. * colortype bits
  276. MECHANICAL    equ    15
  277.  
  278. ***
  279. ***
  280.  
  281. ob_Page        equ    0        ;the page this object is located on
  282. ob_Left        equ    ob_Page+2
  283. ob_Top        equ    ob_Left+4
  284. ob_Right    equ    ob_Top+4
  285. ob_Bottom    equ    ob_Right+4
  286. ob_Type        equ    ob_Bottom+4
  287. ob_Flag        equ    ob_Type+1
  288. ob_Slant    equ    ob_Flag+1    ;the degrees of slant for this object
  289. ob_Twist    equ    ob_Slant+2    ;the degrees of twist
  290. ob_LWidth    equ    ob_Twist+2    ;width of line draw
  291. ob_LType    equ    ob_LWidth+2    ;line type
  292. ob_LColor    equ    ob_LType+1    ;line color
  293. ob_FType    equ    ob_LColor+1    ;fill type
  294. ob_FColor    equ    ob_FType+1    ;fill color
  295. ob_LBegin    equ    ob_FColor+1    ;line begin style
  296. ob_LEnd        equ    ob_LBegin+1    ;line end style
  297.  
  298. ob_Ptr        equ    ob_LEnd+1    ;memory handle for grp,col,txt,pic,free/poly
  299. ob_BAngle    equ    ob_LEnd+1    ;beginning angle for circle(arc),ellipse(earc)
  300. ob_EAngle    equ    ob_BAngle+2    ;ending angle for circle(arc),ellipse(earc)
  301. ob_XRadius    equ    ob_LEnd+1    ;x radius for corner of box(rbox),square(rsqr)
  302. ob_YRadius    equ    ob_XRadius+2    ;y radius for corner of box(rbox),square(rsqr)
  303. ob_HStandOff    equ    ob_YRadius+2    ;textwrap left/right standoff
  304. ob_VStandOff    equ    ob_HStandOff+2    ;textwrap top/bottom standoff
  305. ob_SizeOf    equ    ob_VStandOff+2
  306.  
  307.  
  308. *object flags defined as:
  309. *
  310. FLOWTEXT    equ    7        ;and mask (bits 0,1,&2)
  311. PUBLISHED    equ    5
  312. GROUPED        equ    6
  313. LOCKED        equ    7
  314. *    bit 0-2 text flow mode
  315. *
  316. *    bit 6  grouped bit - if set then the object is in a group, and is
  317. *                not selectable.  just the group objects it
  318. *                belongs to is selectable.
  319. *    bit 7  locked bit  - if set then the object can not be moved,sized,etc
  320. *
  321.  
  322. tgroup    equ    0    ;  group
  323. tcol    equ    4    ;  columns
  324. ttxt    equ    8    ;  text line
  325. tpic    equ    12    ;  picture
  326. tpoly    equ    16    ;  polygon
  327. tfree    equ    20    ;  freehand
  328. tbox    equ    24    ;  box/rounded corner box
  329. tsqr    equ    28    ;  square box/rounded corner square
  330. thvln    equ    32    ;  horizontal/vertical line
  331. tdln    equ    36    ;  diagonal line
  332. tcir    equ    40    ;  circle/arc
  333. telp    equ    44    ;  ellipse/elliptical arc
  334. teps    equ    48    ;  encapsulated postscript
  335.  
  336. * column structure - every column has a structure like this allocated for it.
  337. *   it is not an array, but a seperate memory block for each column.
  338. *   the memory handle for the column structure is kept in optr in the
  339. *   object structure for this column.
  340. *
  341. cm_ID        equ    0
  342. cm_Version    equ    cm_ID+8
  343. cm_Next        equ    cm_Version+4    ;next column object number in link (-1 if none)
  344. cm_Prev        equ    cm_Next+2    ;prev column object number in link (-1 if none)
  345. cm_LCalc    equ    cm_Prev+2    ;flag set if line table needs to be recalced
  346. cm_QCalc    equ    cm_LCalc+1    ;flag set if q-table needs to be recalced
  347. cm_LHandle    equ    cm_QCalc+1    ;this columns line table handle
  348. cm_QHandle    equ    cm_LHandle+4    ;this columns q-table handle
  349. cm_THandle    equ    cm_QHandle+4    ;text block handle (and for all others linked)
  350. cm_TOffset    equ    cm_THandle+4    ;offset into text block for this column
  351. cm_Left        equ    cm_TOffset+4    ;left edge of column (same as Olft)
  352. cm_Top        equ    cm_Left+4    ;top edge of column (same as Otop)
  353. cm_Right    equ    cm_Top+4    ;right edge of column (same as Orht)
  354. cm_Bottom    equ    cm_Right+4    ;bottom edge of column (same as Obtm)
  355. cm_Flag        equ    cm_Bottom+4
  356. cm_unused    equ    cm_Flag+2
  357.  
  358. CM_OVERFLOW    equ    0
  359. CM_PARA        equ    1
  360.  
  361. * these attributes describe the attributes of the start of this column.
  362. * the attributes in the first line table entry for this column will be the
  363. * same as these, the only differance is that the line table is purgable, and
  364. * I need to keep them in a "safe" place.
  365. cm_Font        equ    cm_unused+6    ;font
  366. cm_Attrb    equ    cm_Font+4    ;attributes
  367. cm_XPoint    equ    cm_Attrb+4    ;x point size
  368. cm_YPoint    equ    cm_XPoint+4    ;y point size
  369. cm_Spacing    equ    cm_YPoint+4    ;character spacing
  370. cm_Lead        equ    cm_Spacing+2    ;fixed leading /auto leading offset
  371. cm_BMod        equ    cm_Lead+2    ;baseline offset
  372. cm_PIndent    equ    cm_BMod+2    ;paragraph indent
  373. cm_LIndent    equ    cm_PIndent+2    ;left indent
  374. cm_RIndent    equ    cm_LIndent+2    ;right indent
  375. cm_Tag        equ    cm_RIndent+2    ;tag
  376. cm_Justify    equ    cm_Tag+1    ;line justify
  377. cm_CFStyle    equ    cm_Justify+1    ;character fill style
  378. cm_CFColor    equ    cm_CFStyle+1    ;character fill color
  379. cm_CLStyle    equ    cm_CFColor+1    ;character line style
  380. cm_CLColor    equ    cm_CLStyle+1    ;character line color
  381. cm_CLWidth    equ    cm_CLColor+1    ;character line width
  382.  
  383. cm_Tabs        equ    cm_CLWidth+2
  384. cm_Sizeof    equ    cm_Tabs+84    ;20 tabs + 0
  385.  
  386. * $00       character 0
  387. * $01       cariage return
  388. * $02       invisible manual hyphen
  389. * $03       visible manual hyphen
  390. * $04       invisible auto hyphen
  391. * $05       visible auto hyphen
  392. * $06       jump to next tab stop
  393. * $07       page number command
  394. * $08       begin conditional
  395. * $09       end conditional
  396. * $0a       forced end of column
  397. CMD_CH0        equ    $00
  398. CMD_CR        equ    $01
  399. CMD_IMH        equ    $02
  400. CMD_VMH        equ    $03
  401. CMD_IAH        equ    $04
  402. CMD_VAH        equ    $05
  403. CMD_TAB        equ    $06
  404. CMD_PGN        equ    $07
  405. CMD_BGNC    equ    $08
  406. CMD_ENDC    equ    $09
  407. CMD_FEOC    equ    $0a
  408.  
  409.  
  410. * $10 xx    tag               (byte)
  411. * $11 xx    justify mode      (byte)
  412. * $12 xx    fill style        (byte)
  413. * $13 xx    fill color        (byte)
  414. * $14 xx    line style        (byte)
  415. * $15 xx    line color        (byte)
  416. * $16 xx    line width        (word)
  417.  
  418. CMD_TAG        equ    $10
  419. CMD_JST        equ    $11
  420. CMD_CFS        equ    $12
  421. CMD_CFC        equ    $13
  422. CMD_CLS        equ    $14
  423. CMD_CLC        equ    $15
  424. CMD_CLW        equ    $16
  425.  
  426. * $20 xxxx  font              (long)
  427. * $21 xxxx  attributes        (long)
  428. * $22 xxxx  character spacing (word)
  429. * $23 xxxx  line spacing      (word)
  430. * $24 xxxx  baseline offset   (word)
  431. * $25 xxxx  paragraph indent  (word)
  432. * $26 xxxx  manual kern       (word)
  433. * $27 xxxx  auto kern         (word)
  434. CMD_F        equ    $20
  435. CMD_AT        equ    $21
  436. CMD_CSP        equ    $22
  437. CMD_LSP        equ    $23
  438. CMD_BMOD    equ    $24
  439. CMD_PIN        equ    $25
  440. CMD_MKRN    equ    $26
  441. CMD_AKRN    equ    $27
  442.  
  443.  
  444. * $40 xxxx yyyy  x/y point             (2 longs)
  445. * $41 xxxx yyyy  left/right indent     (2 words)
  446. CMD_PT        equ    $40
  447. CMD_IN        equ    $41
  448.  
  449.  
  450. *    attrb commands
  451. BOLD    equ    0    ;bit
  452. ITALICS equ    1    ;bit
  453. SHADOW  equ    2    ;bit
  454. OUTLINE equ    3    ;bit
  455. BCKSLNT equ    4    ;bit
  456. LIGHT   equ    5    ;bit
  457. RVRS    equ    6    ;bit
  458. MIRROR  equ    7    ;bit
  459. UPSIDE  equ    8    ;bit
  460. UNDER   equ    9    ;bit
  461. WORDU   equ    10    ;bit
  462. CHARU    equ    11    ;bit
  463. DOUBLEU equ    12    ;bit
  464. STRIKE  equ    13    ;bit
  465. * bits 16-19 bold levels (0-15 levels)
  466. *  0  normal bold/light (not specified)
  467. *  1  extra-ultra light
  468. *  3  extra-light
  469. *  5  light (same as 0?)
  470. *  7  normal (book? medium?)
  471. *  8  medium
  472. *  9  bold (same as 0?)
  473. *  11 extra bold
  474. *  13 black
  475. *  15 heavy!!
  476. * bits 20-23 condensed levels (0-15 levels)
  477. *  0  normal (uncondensed)
  478. *  1  extra condensed
  479. *  3  condensed
  480. *  5  normal (same as 0?)
  481. *  7  expanded
  482. *  9  extra expanded
  483. * bits 24-26 size levels (0-7 levels)
  484. *  0  normal size
  485. *  1  small
  486. *  2  medium (normal, same as 0?)
  487. *  3  large
  488. * bit 27 - caps
  489. *  (bit 27 & bits24-26=1 means small caps!)
  490. * bits 28-31 special attribute numbers (0-15 values)
  491.  
  492.  
  493. *    justify command
  494. *      0 = block left
  495. *      1 = center
  496. *      2 = block right
  497. *      3 = character justify
  498. *      4 = word justify
  499. *      5 = auto justify
  500.  
  501.  
  502. * line table structure
  503. *  memory handle to this structure is stored in the column structure
  504. *  under cltbl.  The line table is an array, with a line table structure
  505. *  entry for every line of text.  It's possible that a single horizontal
  506. *  strip of text is broken into two line table entries if the text needs to
  507. *  flow around an object placed on top of the column.  The end of the table
  508. *  is denoted by ltop = -1.  The size of each entry in the line table is
  509. *  34 bytes.
  510. *
  511.  
  512. ln_Offset    equ    0        ;offset from column offset to text
  513. ln_Left        equ    ln_Offset+4    ;left edge of this line
  514. ln_Top        equ    ln_Left+4    ;top edge of this line
  515. ln_Right    equ    ln_Top+4    ;right edge of this line
  516. ln_Bottom    equ    ln_Right+4    ;bottom edge of this line
  517. ln_CJust    equ    ln_Bottom+4    ;character justification amount.
  518. ln_WJust    equ    ln_CJust+2    ;word justification amount.
  519. *      must be in this order
  520. ln_Font        equ    ln_WJust+2    ;these character attributes are
  521. ln_Attrb    equ    ln_Font+4    ;  identical to the column attributes
  522. ln_XPoint    equ    ln_Attrb+4    ;  but they are the attributes for
  523. ln_YPoint    equ    ln_XPoint+4    ;  the start of this line.
  524. ln_Spacing    equ    ln_YPoint+4
  525. ln_Lead        equ    ln_Spacing+2
  526. ln_BMod        equ    ln_Lead+2
  527. ln_PIndent    equ    ln_BMod+2
  528. ln_LIndent    equ    ln_PIndent+2
  529. ln_RIndent    equ    ln_LIndent+2
  530. ln_Tag        equ    ln_RIndent+2
  531. ln_Justify    equ    ln_Tag+1
  532. ln_CFStyle    equ    ln_Justify+1
  533. ln_CFColor    equ    ln_CFStyle+1
  534. ln_CLStyle    equ    ln_CFColor+1
  535. ln_CLColor    equ    ln_CLStyle+1
  536. ln_CLWidth    equ    ln_CLColor+1
  537.  
  538. ln_Sizeof    equ    ln_CLWidth+2        ;length of line table
  539. *      to here
  540.  
  541.  
  542. *
  543. * picture objects
  544. *
  545. pc_ID        equ    0
  546. pc_Version    equ    pc_ID+8
  547. pc_Type        equ    pc_Version+4
  548. pc_SFreq    equ    pc_Type+2    ;screen frequency
  549. pc_SAngle    equ    pc_SFreq+2    ;screen angle
  550. pc_SSpot    equ    pc_SAngle+2    ;spot function
  551. pc_SMap        equ    pc_SSpot+2    ;mapping function
  552. pc_XDpi        equ    pc_SMap+258    ;x dots per inch
  553. pc_YDpi        equ    pc_XDpi+2    ;y dots per inch
  554. pc_W        equ    pc_YDpi+2    ;pixels wide
  555. pc_H        equ    pc_W+2        ;pixels high
  556. pc_Width    equ    pc_H+2        ;words wide
  557. pc_BitPln    equ    pc_Width+2    ;number of bit planes
  558. pc_Palet    equ    pc_BitPln+2    ;color pallet entries (8 bytes per)
  559. pc_Ptr        equ    pc_Palet+2    ;offset to bit map data
  560.  
  561. pc_DScale    equ    pc_Ptr+4
  562. pc_DW        equ    pc_DScale+2
  563. pc_DH        equ    pc_DW+2
  564. pc_DWidth    equ    pc_DH+2
  565. pc_DBitPln    equ    pc_DWidth+2
  566. pc_DPtr        equ    pc_DBitPln+2
  567.  
  568. pc_Sizeof    equ    pc_DPtr+4
  569.  
  570.  
  571.  
  572. *
  573. * where pc_Type's are
  574. *
  575. PC_PALET    equ    0        ;rgb defined only know
  576. PC_BW        equ    1
  577. PC_RGB        equ    2
  578. PC_RGBW        equ    3
  579. PC_CMY        equ    4
  580. PC_CMYK        equ    5
  581.  
  582. *
  583. * RGB color pallet equates
  584. *
  585. pl_Red        equ    0            ;red
  586. pl_Green    equ    pl_Red+2        ;green
  587. pl_Blue        equ    pl_Green+2        ;blue
  588. pl_ScreenColor    equ    pl_Blue+2        ;screen color
  589.  
  590. pl_Sizeof    equ    pl_ScreenColor+2    ;size of color pallet entries
  591.  
  592.  
  593.  
  594. *
  595. * polygon info
  596. *
  597. ply_Length    equ    0
  598. ply_Width    equ    ply_Length+4
  599. ply_Height    equ    ply_Width+4
  600. ply_XScale    equ    ply_Height+4
  601. ply_YScale    equ    ply_XScale+2
  602. ply_Count    equ    ply_YScale+2
  603. ply_Sizeof    equ    ply_Count+2
  604.  
  605.  
  606. NEWPATH        equ    0
  607. CLOSEPATH    equ    4
  608. FILLPATH    equ    8
  609. STROKEPATH    equ    12
  610. MOVETO        equ    16
  611. LINETO        equ    20
  612. CURVETO        equ    24
  613. ARCTO        equ    28
  614. ARCNTO        equ    32
  615.  
  616.  
  617. *
  618. * encapsulated postscript object
  619. *
  620. eps_Type    equ    0
  621. eps_Width    equ    eps_Type+2
  622. eps_Height    equ    eps_Width+4
  623. eps_PicPtr    equ    eps_Height+4
  624. eps_PlyPtr    equ    eps_PicPtr+4
  625. eps_DataLen    equ    eps_PlyPtr+4
  626. eps_Sizeof    equ    eps_DataLen+4
  627.  
  628.  
  629.  
  630.  
  631.  
  632. * offsets into the font metric list
  633. *
  634. fm_Flag        equ    0
  635. fm_Type        equ    fm_Flag+2
  636. fm_Family    equ    fm_Type+2
  637. fm_Attrb    equ    fm_Family+4
  638. fm_XPoint    equ    fm_Attrb+4
  639. fm_YPoint    equ    fm_XPoint+4
  640. fm_XDpi        equ    fm_YPoint+4
  641. fm_YDpi        equ    fm_XDpi+2
  642. fm_Name        equ    fm_YDpi+2
  643. fm_SName    equ    fm_Name+48
  644. fm_FName    equ    fm_SName+32
  645. fm_Directory    equ    fm_FName+24
  646. fm_FontN    equ    fm_Directory+2
  647. fm_SymSet    equ    fm_FontN+4
  648. fm_Metrics    equ    fm_SymSet+2
  649. fm_Sizeof    equ    fm_Metrics+4
  650.  
  651. * offsets into the font list
  652. *
  653. ft_Flag        equ    0
  654. ft_Type        equ    ft_Flag+2
  655. ft_Family    equ    ft_Type+2
  656. ft_Attrb    equ    ft_Family+4
  657. ft_XPoint    equ    ft_Attrb+4
  658. ft_YPoint    equ    ft_XPoint+4
  659. ft_XDpi        equ    ft_YPoint+4
  660. ft_YDpi        equ    ft_XDpi+2
  661. ft_FName    equ    ft_YDpi+2
  662. ft_Directory    equ    ft_FName+24
  663. ft_FontN    equ    ft_Directory+2
  664. ft_SymSet    equ    ft_FontN+4
  665. ft_Handle    equ    ft_SymSet+2
  666. ft_Sizeof    equ    ft_Handle+4
  667.  
  668.  
  669. fd_DName    equ    0
  670. fd_Sizeof    equ    fd_DName+256
  671.  
  672. *
  673. * offsets into font equivelent table
  674. *
  675. eq_Type        equ    0
  676. eq_Font1    equ    eq_Type+2
  677. eq_Font2    equ    eq_Font1+4
  678. eq_SizeOf    equ    eq_Font2+4
  679.  
  680. FONTEQUIV    equ    0
  681. FONTREPLC    equ    1
  682.  
  683.  
  684. *
  685. * offsets into font style table
  686. *
  687. fs_Type        equ    0
  688. fs_Font        equ    fs_Type+2
  689. fs_Style    equ    fs_Font+4
  690. fs_Name        equ    fs_Style+4
  691. fs_Sizeof    equ    fs_Name+16
  692.  
  693. FONTSYMBOL    equ    0
  694. FONTSTYLE    equ    1
  695.  
  696. *
  697. * compugraphic fontlist table
  698. *
  699. cg_FontN    equ    0
  700. cg_FName    equ    cg_FontN+4
  701. cg_Directory    equ    cg_FName+24
  702. cg_Offset    equ    cg_Directory+2
  703. cg_Length    equ    cg_Offset+4
  704. cg_Bucket    equ    cg_Length+2
  705. cg_Sizeof    equ    cg_Bucket+2
  706.  
  707.  
  708. *
  709. *
  710. *
  711. FM_MAGIK    equ    0
  712. FM_TYPE        equ    FM_MAGIK+2
  713. FM_FONT        equ    FM_TYPE+2
  714. FM_ATTRB    equ    FM_FONT+2
  715. FM_XPOINT    equ    FM_ATTRB+2
  716. FM_YPOINT    equ    FM_XPOINT+2
  717. FM_XDPI        equ    FM_YPOINT+2
  718. FM_YDPI        equ    FM_XDPI+2
  719. FM_NAME        equ    FM_YDPI+2
  720. FM_CWIDTH    equ    FM_NAME+32
  721. FM_KRNCNT    equ    FM_CWIDTH+512
  722. FM_KRNPRS    equ    FM_KRNCNT+2
  723.  
  724.  
  725. FT_MAGIK    equ    0
  726. FT_TYPE        equ    FT_MAGIK+2
  727. FT_FONT        equ    FT_TYPE+2
  728. FT_ATTRB    equ    FT_FONT+2
  729. FT_XPOINT    equ    FT_ATTRB+2
  730. FT_YPOINT    equ    FT_XPOINT+2
  731. FT_XDPI        equ    FT_YPOINT+2
  732. FT_YDPI        equ    FT_XDPI+2
  733. FT_BSLN        equ    FT_YDPI+2
  734. FT_HT        equ    FT_BSLN+2
  735. FT_CSET        equ    FT_HT+2
  736.  
  737.  
  738. DM_MAGIK    equ    0
  739. DM_TYPE        equ    DM_MAGIK+2
  740. DM_FONT        equ    DM_TYPE+2
  741. DM_ATTRB    equ    DM_FONT+2
  742. DM_XPOINT    equ    DM_ATTRB+2
  743. DM_YPOINT    equ    DM_XPOINT+2
  744. DM_XDPI        equ    DM_YPOINT+2
  745. DM_YDPI        equ    DM_XDPI+2
  746. DM_ULPOS    equ    DM_YDPI+2
  747. DM_ULTHICK    equ    DM_ULPOS+2
  748. DM_BBOX        equ    DM_ULTHICK+2
  749. DM_CSET        equ    DM_BBOX+4
  750. DM_LOOKUP    equ    DM_CSET+4
  751.  
  752. PF_MAGIK    equ    0
  753. PF_TYPE        equ    PF_MAGIK+2
  754. PF_FONT        equ    PF_TYPE+2
  755. PF_ATTRB    equ    PF_FONT+2
  756. PF_XPOINT    equ    PF_ATTRB+2
  757. PF_YPOINT    equ    PF_XPOINT+2
  758. PF_XDPI        equ    PF_YPOINT+2
  759. PF_YDPI        equ    PF_XDPI+2
  760. PF_ULPOS    equ    PF_YDPI+2
  761. PF_ULTHICK    equ    PF_ULPOS+2
  762. PF_NAME        equ    PF_ULTHICK+2
  763. PF_TOPBLUES    equ    PF_NAME+48
  764. PF_BTMBLUES    equ    PF_TOPBLUES+40
  765. PF_FTOPBLUES    equ    PF_BTMBLUES+40
  766. PF_FBTMBLUES    equ    PF_FTOPBLUES+40
  767. PF_BSCALE    equ    PF_FBTMBLUES+40
  768. PF_BSHIFT    equ    PF_BSCALE+2
  769. PF_BFUZZ    equ    PF_BSHIFT+2
  770. PF_STDHW    equ    PF_BFUZZ+2
  771. PF_STDVW    equ    PF_STDHW+40
  772. PF_STEMSNAPH    equ    PF_STDVW+40
  773. PF_STEMSNAPV    equ    PF_STEMSNAPH+40
  774. PF_FORCEBOLD    equ    PF_STEMSNAPV+40
  775. PF_OBLIQUE    equ    PF_FORCEBOLD+2
  776. PF_COFFSET    equ    PF_OBLIQUE+2
  777. PF_CSET        equ    PF_COFFSET+4
  778. PF_SOFFSET    equ    PF_CSET+1024
  779. PF_SSET        equ    PF_SOFFSET+4
  780. PF_SLENGTH    equ    PF_SSET+4
  781. PF_SIZEOF    equ    PF_SLENGTH+4
  782.  
  783.  
  784. PS_MAGIK    equ    0
  785. PS_TYPE        equ    PS_MAGIK+2
  786. PS_FONT        equ    PS_TYPE+2
  787. PS_ATTRB    equ    PS_FONT+2
  788. PS_XPOINT    equ    PS_ATTRB+2
  789. PS_YPOINT    equ    PS_XPOINT+2
  790. PS_XDPI        equ    PS_YPOINT+2
  791. PS_YDPI        equ    PS_XDPI+2
  792. PS_ULPOS    equ    PS_YDPI+2
  793. PS_ULTHICK    equ    PS_ULPOS+2
  794. PS_NAME        equ    PS_ULTHICK+2
  795. PS_FNAME    equ    PS_NAME+48
  796. PS_LOOKUP    equ    PS_FNAME+18
  797.  
  798.  
  799. *
  800. * memory management stuff
  801. *
  802. PURGABLE    equ    1
  803. CHIP        equ    $8000
  804.  
  805. *
  806. * keyboard stuff
  807. *
  808. LRSHIFT    equ    $03        ; and mask
  809. CNTRL    equ    2        ; bit number
  810. LRALT    equ    $08        ; and mask
  811. ;LRAMIGA    equ    $c0
  812.