home *** CD-ROM | disk | FTP | other *** search
/ RISC DISC 1 / RISC_DISC_1.iso / pd_share / code / oslib / Hdr / Draw < prev    next >
Encoding:
Text File  |  1994-07-01  |  6.5 KB  |  190 lines

  1. ;AAsm header file for Draw
  2. ;written by DefMod (Jul  1 1994) on Fri Jul  1 16:25:28 1994
  3.  
  4.         [       :LNOT: :DEF: Get_Types
  5.         GBLS    Get_Types
  6. Get_Types                       SETS    "GET OS:Hdr.Types"
  7.         |
  8. Get_Types                       SETS    ""
  9.         ]
  10.         $Get_Types
  11.  
  12.         [       :LNOT: :DEF: Get_OS
  13.         GBLS    Get_OS
  14. Get_OS                          SETS    "GET OS:Hdr.OS"
  15.         |
  16. Get_OS                          SETS    ""
  17.         ]
  18.         $Get_OS
  19.  
  20.         [       :LNOT: :DEF: Draw_Hdr
  21.         GBLS    Draw_Hdr
  22.  
  23. ;Symbols for constants
  24. Draw_OSUnit                     *       256
  25. Draw_Inch                       *       46080
  26. Draw_Point                      *       640
  27. Draw_EndPath                    *       0
  28. Draw_Continuation               *       1
  29. Draw_MoveTo                     *       2
  30. Draw_SpecialMoveTo              *       3
  31. Draw_CloseGap                   *       4
  32. Draw_CloseLine                  *       5
  33. Draw_BezierTo                   *       6
  34. Draw_GapTo                      *       7
  35. Draw_LineTo                     *       8
  36. Draw_FillNonzero                *       0
  37. Draw_FillNegative               *       1
  38. Draw_FillEvenOdd                *       2
  39. Draw_FillPositive               *       3
  40. Draw_FillWindingRuleShift       *       0
  41. Draw_FillWindingRule            *       &3
  42. Draw_FillFullExterior           *       &4
  43. Draw_FillExteriorBoundary       *       &8
  44. Draw_FillInteriorBoundary       *       &10
  45. Draw_FillFullInterior           *       &20
  46. Draw_FillCloseOpenSubpaths      *       &8000000
  47. Draw_FillFlatten                *       &10000000
  48. Draw_FillThicken                *       &20000000
  49. Draw_FillReflatten              *       &40000000
  50. Draw_FillFloat                  *       &80000000
  51. Draw_JoinMitred                 *       0
  52. Draw_JoinRound                  *       1
  53. Draw_JoinBevelled               *       2
  54. Draw_CapButt                    *       0
  55. Draw_CapRound                   *       1
  56. Draw_CapSquare                  *       2
  57. Draw_CapTriangular              *       3
  58. Draw_SpecialInSitu              *       0
  59. Draw_SpecialFill                *       1
  60. Draw_SpecialFillBySubpaths      *       2
  61. Draw_SpecialCount               *       3
  62. Error_DrawNoDrawInIRQMode       *       &980
  63. Error_DrawBadDrawReasonCode     *       &981
  64. Error_DrawReservedDrawBits      *       &982
  65. Error_DrawInvalidDrawAddress    *       &983
  66. Error_DrawBadPathElement        *       &984
  67. Error_DrawBadPathSequence       *       &985
  68. Error_DrawMayExpandPath         *       &986
  69. Error_DrawPathFull              *       &987
  70. Error_DrawPathNotFlat           *       &988
  71. Error_DrawBadCapsOrJoins        *       &989
  72. Error_DrawTransformOverflow     *       &98A
  73. Error_DrawDrawNeedsGraphicsMode *       &98B
  74. Error_DrawUnimplementedDraw     *       &9FF
  75.  
  76. ;Symbols for structure offsets and sizes
  77.                                 ^       0
  78. Draw_PathElement_tag            #       Int
  79. Draw_PathElement_data           *       @
  80. Draw_PathElement_data_end_path  #       Int
  81.                                 ^       Draw_PathElement_data
  82. Draw_PathElement_data_continuation #       Ptr
  83.                                 ^       Draw_PathElement_data
  84. Draw_PathElement_data_move_to   #       OS_Coord
  85.                                 ^       Draw_PathElement_data
  86. Draw_PathElement_data_special_move_to #       OS_Coord
  87.                                 ^       Draw_PathElement_data
  88. Draw_PathElement_data_bezier_to #       OS_Coord
  89.                                 ^       Draw_PathElement_data
  90. Draw_PathElement_data_gap_to    #       OS_Coord
  91.                                 ^       Draw_PathElement_data
  92. Draw_PathElement_data_line_to   #       OS_Coord
  93. Draw_PathElement                *       @
  94.  
  95. Draw_FillStyle                  *       Bits
  96.  
  97.                                 ^       0
  98. Draw_LineStyle_join_style       #       Byte
  99. Draw_LineStyle_end_cap_style    #       Byte
  100. Draw_LineStyle_start_cap_style  #       Byte
  101. Draw_LineStyle_reserved         #       Byte
  102. Draw_LineStyle_mitre_limit      #       Int
  103. Draw_LineStyle_start_cap_width  #       Short
  104. Draw_LineStyle_start_cap_length #       Short
  105. Draw_LineStyle_end_cap_width    #       Short
  106. Draw_LineStyle_end_cap_length   #       Short
  107. Draw_LineStyle                  *       @
  108.  
  109.                                 ^       0
  110. Draw_DashPattern_start          #       Int
  111. Draw_DashPattern_element_count  #       Int
  112. Draw_DashPattern_elements       #       Int
  113. Draw_DashPattern                *       @
  114.  
  115.                                 ^       0
  116. Draw_Path_elements              #       Draw_PathElement
  117. Draw_Path                       *       @
  118.  
  119.  
  120. ;Symbols for SWI's and SWI reason codes
  121. XDraw_ProcessPath               *       &60700
  122. Draw_ProcessPath                *       &40700
  123.    ;Entry
  124.    ;  R0 -> path (Draw_Path)
  125.    ;  R1 = fill_style (Draw_FillStyle)
  126.    ;  R2 -> trfm (OS_Trfm)
  127.    ;  R3 = flatness (Int)
  128.    ;  R4 = thickness (Int)
  129.    ;  R5 -> line_style (Draw_LineStyle)
  130.    ;  R6 -> dash_pattern (Draw_DashPattern)
  131.    ;  R7 = processed_path (pointer to Draw_Path)
  132.    ;Exit
  133.    ;  R0 = end_or_used (pointer to data)
  134.  
  135. XDraw_Fill                      *       &60702
  136. Draw_Fill                       *       &40702
  137.    ;Entry
  138.    ;  R0 -> path (Draw_Path)
  139.    ;  R1 = fill_style (Draw_FillStyle)
  140.    ;  R2 -> trfm (OS_Trfm)
  141.    ;  R3 = flatness (Int)
  142.  
  143. XDraw_Stroke                    *       &60704
  144. Draw_Stroke                     *       &40704
  145.    ;Entry
  146.    ;  R0 -> path (Draw_Path)
  147.    ;  R1 = fill_style (Draw_FillStyle)
  148.    ;  R2 -> trfm (OS_Trfm)
  149.    ;  R3 = flatness (Int)
  150.    ;  R4 = thickness (Int)
  151.    ;  R5 -> line_style (Draw_LineStyle)
  152.    ;  R6 -> dash_pattern (Draw_DashPattern)
  153.  
  154. XDraw_StrokePath                *       &60706
  155. Draw_StrokePath                 *       &40706
  156.    ;Entry
  157.    ;  R0 -> path (Draw_Path)
  158.    ;  R1 = stroked_path (pointer to Draw_Path)
  159.    ;  R2 -> trfm (OS_Trfm)
  160.    ;  R3 = flatness (Int)
  161.    ;  R4 = thickness (Int)
  162.    ;  R5 -> line_style (Draw_LineStyle)
  163.    ;  R6 -> dash_pattern (Draw_DashPattern)
  164.    ;Exit
  165.    ;  R0 = end_or_used (pointer to data)
  166.  
  167. XDraw_FlattenPath               *       &60708
  168. Draw_FlattenPath                *       &40708
  169.    ;Entry
  170.    ;  R0 -> path (Draw_Path)
  171.    ;  R1 = flattened_path (pointer to Draw_Path)
  172.    ;  R2 = flatness (Int)
  173.    ;Exit
  174.    ;  R0 = end_or_used (pointer to data)
  175.  
  176. XDraw_TransformPath             *       &6070A
  177. Draw_TransformPath              *       &4070A
  178.    ;Entry
  179.    ;  R0 -> path (Draw_Path)
  180.    ;  R1 = transformed_path (pointer to Draw_Path)
  181.    ;  R2 -> trfm (OS_Trfm)
  182.    ;  R3 = &0
  183.    ;Exit
  184.    ;  R0 = end_or_used (pointer to data)
  185.  
  186. DrawV                           *       &20
  187.  
  188.         ]
  189.         END
  190.