home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / programming / oslib / oslib_1 / OSLib / User / Hdr / PDriver < prev    next >
Encoding:
Text File  |  1995-08-21  |  15.6 KB  |  568 lines

  1. ;Assembler header file for PDriver
  2. ;written by DefMod (Jun 30 1995) on Mon Aug 21 16:13:50 1995
  3. ;Jonathan Coxhead, Acorn Computers Ltd
  4.  
  5.         [       :LNOT: :DEF: Get_Types
  6.         GBLS    Get_Types
  7.         ]
  8.         [       :LNOT: :DEF: Types_Hdr
  9. Get_Types                       SETS    "GET OS:Hdr.Types"
  10.         |
  11. Get_Types                       SETS    ""
  12.         ]
  13.         $Get_Types
  14.  
  15.         [       :LNOT: :DEF: Get_OS
  16.         GBLS    Get_OS
  17.         ]
  18.         [       :LNOT: :DEF: OS_Hdr
  19. Get_OS                          SETS    "GET OS:Hdr.OS"
  20.         |
  21. Get_OS                          SETS    ""
  22.         ]
  23.         $Get_OS
  24.  
  25.         [       :LNOT: :DEF: Get_Draw
  26.         GBLS    Get_Draw
  27.         ]
  28.         [       :LNOT: :DEF: Draw_Hdr
  29. Get_Draw                        SETS    "GET OS:Hdr.Draw"
  30.         |
  31. Get_Draw                        SETS    ""
  32.         ]
  33.         $Get_Draw
  34.  
  35.         [       :LNOT: :DEF: Get_Font
  36.         GBLS    Get_Font
  37.         ]
  38.         [       :LNOT: :DEF: Font_Hdr
  39. Get_Font                        SETS    "GET OS:Hdr.Font"
  40.         |
  41. Get_Font                        SETS    ""
  42.         ]
  43.         $Get_Font
  44.  
  45.         [       :LNOT: :DEF: Get_MessageTrans
  46.         GBLS    Get_MessageTrans
  47.         ]
  48.         [       :LNOT: :DEF: MessageTrans_Hdr
  49. Get_MessageTrans                SETS    "GET OS:Hdr.MessageTrans"
  50.         |
  51. Get_MessageTrans                SETS    ""
  52.         ]
  53.         $Get_MessageTrans
  54.  
  55.         [       :LNOT: :DEF: Get_JPEG
  56.         GBLS    Get_JPEG
  57.         ]
  58.         [       :LNOT: :DEF: JPEG_Hdr
  59. Get_JPEG                        SETS    "GET OS:Hdr.JPEG"
  60.         |
  61. Get_JPEG                        SETS    ""
  62.         ]
  63.         $Get_JPEG
  64.  
  65.         [       :LNOT: :DEF: PDriver_Hdr
  66.         GBLS    PDriver_Hdr
  67.  
  68. ;Symbols for constants
  69. PDriver_OSUnit                  *       400
  70. PDriver_Inch                    *       72000
  71. PDriver_Point                   *       1000
  72. PDriver_TypePS                  *       &0
  73. PDriver_TypeDM                  *       &1
  74. PDriver_TypeLJ                  *       &2
  75. PDriver_TypeIX                  *       &3
  76. PDriver_TypeFX                  *       &4
  77. PDriver_TypeLZ                  *       &5
  78. PDriver_TypeLB                  *       &6
  79. PDriver_TypeUF                  *       &7
  80. PDriver_TypeJX                  *       &63
  81. PDriver_TypePJ                  *       &63
  82. PDriver_FeatureColour           *       &1
  83. PDriver_FeatureLimitedColours   *       &2
  84. PDriver_FeatureDiscreteColours  *       &4
  85. PDriver_FeatureOutlinesOnly     *       &100
  86. PDriver_FeatureThinLinesOnly    *       &200
  87. PDriver_FeatureNoOverwrite      *       &400
  88. PDriver_FeatureTrfmSprite       *       &800
  89. PDriver_FeatureTrfmFont         *       &1000
  90. PDriver_FeatureDrawPageFlags    *       &2000
  91. PDriver_FeatureScreenDump       *       &1000000
  92. PDriver_FeatureGeneralTrfm      *       &2000000
  93. PDriver_FeatureInsertIllustration *       &4000000
  94. PDriver_FeatureMiscOp           *       &8000000
  95. PDriver_FeatureSetDriver        *       &10000000
  96. PDriver_FeatureDeclareFont      *       &20000000
  97. PDriver_NoDownload              *       &1
  98. PDriver_Kerned                  *       &2
  99. PDriver_FontResident            *       &1
  100. PDriver_FontDownload            *       &2
  101. PDriver_FontDownloaded          *       &4
  102. PDriver_FontOverwrite           *       &1
  103. Error_PDriverBadFeatures        *       &5C0
  104. Error_PDriverNoCurrentSprite    *       &5C1
  105. Error_PDriverNoJobSelected      *       &5C2
  106. Error_PDriverNoSuchJob          *       &5C3
  107. Error_PDriverNoCurrentPage      *       &5C4
  108. Error_PDriverPrintingPage       *       &5C5
  109. Error_PDriverInvalidCopies      *       &5C6
  110. Error_PDriverCannotHandle       *       &5C7
  111. Error_PDriverBadHalftone        *       &5C8
  112. Error_PDriverCancelled          *       &5C9
  113. Error_PDriverSingularMatrix     *       &5CA
  114. Error_PDriverBadRectangle       *       &5CB
  115. Error_PDriverRectanglesMiss     *       &5CC
  116. Error_PDriverNoFreeMemory       *       &5CD
  117. Error_PDriverNotOnePage         *       &5CE
  118. Error_PDriverInUse              *       &5CF
  119. Error_PDriverOverflow           *       &5D0
  120. Error_PDriverBadMiscOp          *       &5D1
  121. Error_PDriverNoDuplicates       *       &5D2
  122. Error_PDriverNoCurrentDriver    *       &5D3
  123. Error_PDriverUnknownNumber      *       &5D4
  124. Error_PDriverDuplicateNumber    *       &5D5
  125. Error_PDriverBadSetPrinter      *       &5D6
  126. Message_PrintFile               *       &80140
  127. Message_WillPrint               *       &80141
  128. Message_PrintSave               *       &80142
  129. Message_PrintInit               *       &80143
  130. Message_PrintError              *       &80144
  131. Message_PrintTypeOdd            *       &80145
  132. Message_PrintTypeKnown          *       &80146
  133. Message_SetPrinter              *       &80147
  134. Message_PrintInit2              *       &80148
  135. Message_PSPrinterQuery          *       &8014C
  136. Message_PSPrinterAck            *       &8014D
  137. Message_PSPrinterModified       *       &8014E
  138. Message_PSPrinterDefaults       *       &8014F
  139. Message_PSPrinterDefaulted      *       &80150
  140. Message_PSPrinterNotPS          *       &80151
  141. Message_ResetPrinter            *       &80152
  142. Message_PSIsFontprintRunning    *       &80153
  143. PDriver_DrawCopyCount           *       &FFFFFF
  144. PDriver_DrawMayPrescan          *       &1000000
  145.  
  146. ;Symbols for structure offsets and sizes
  147. PDriver_Type                    *       Int
  148.  
  149. PDriver_Features                *       Bits
  150.  
  151. PDriver_FontFlags               *       Bits
  152.  
  153. PDriver_FontMapFlags            *       Bits
  154.  
  155. PDriver_FontAddFlags            *       Bits
  156.  
  157. PDriver_EnumerateFlags          *       Bits
  158.  
  159.                                 ^       0
  160. PDriver_MessagePrintError_errnum #       Int
  161. PDriver_MessagePrintError_errmess #       232*Char
  162. PDriver_MessagePrintError       *       @
  163.  
  164.                                 ^       0
  165. PDriver_MessagePrintTypeOdd_file_type #       Bits
  166. PDriver_MessagePrintTypeOdd_file_name #       232*Char
  167. PDriver_MessagePrintTypeOdd     *       @
  168.  
  169.                                 ^       0
  170. PDriver_MessagePSPrinterQuery_buffer #       Ptr
  171. PDriver_MessagePSPrinterQuery_size #       Int
  172. PDriver_MessagePSPrinterQuery   *       @
  173.  
  174. PDriver_DrawFlags               *       Bits
  175.  
  176.  
  177. ;Symbols for SWI's and SWI reason codes
  178. XPDriver_Info                   *       &A0140
  179. PDriver_Info                    *       &80140
  180.    ;Exit
  181.    ;  R0 = type (PDriver_Type)
  182.    ;  R1 = xres (Int)
  183.    ;  R2 = yres (Int)
  184.    ;  R3 = features (PDriver_Features)
  185.    ;  R4 -> desc (String)
  186.    ;  R5 = halftone_xres (Int)
  187.    ;  R6 = halftone_yres (Int)
  188.    ;  R7 = printer (Int)
  189.  
  190. XPDriver_SetInfo                *       &A0141
  191. PDriver_SetInfo                 *       &80141
  192.    ;Entry
  193.    ;  R1 = xres (Int)
  194.    ;  R2 = yres (Int)
  195.    ;  R3 = features (PDriver_Features)
  196.    ;  R5 -> pdumper_name (String)
  197.    ;  R6 = pdumper_no (Int)
  198.    ;  R7 = printer (Int)
  199.  
  200. XPDriver_CheckFeatures          *       &A0142
  201. PDriver_CheckFeatures           *       &80142
  202.    ;Entry
  203.    ;  R0 = features (PDriver_Features)
  204.    ;  R1 = value (PDriver_Features)
  205.  
  206. XPDriver_PageSize               *       &A0143
  207. PDriver_PageSize                *       &80143
  208.    ;Exit
  209.    ;  R1 = xsize (Int)
  210.    ;  R2 = ysize (Int)
  211.    ;  R3 = left (Int)
  212.    ;  R4 = bottom (Int)
  213.    ;  R5 = right (Int)
  214.    ;  R6 = top (Int)
  215.  
  216. XPDriver_SetPageSize            *       &A0144
  217. PDriver_SetPageSize             *       &80144
  218.    ;Entry
  219.    ;  R1 = xsize (Int)
  220.    ;  R2 = ysize (Int)
  221.    ;  R3 = left (Int)
  222.    ;  R4 = bottom (Int)
  223.    ;  R5 = right (Int)
  224.    ;  R6 = top (Int)
  225.  
  226. XPDriver_SelectJob              *       &A0145
  227. PDriver_SelectJob               *       &80145
  228.    ;Entry
  229.    ;  R0 = job (OS_F)
  230.    ;  R1 -> title (String)
  231.    ;Exit
  232.    ;  R0 = old_job (OS_F)
  233.    ;  R7 corrupted
  234.  
  235. XPDriver_CurrentJob             *       &A0146
  236. PDriver_CurrentJob              *       &80146
  237.    ;Exit
  238.    ;  R0 = job (OS_F)
  239.  
  240. XPDriver_FontSWI                *       &A0147
  241. PDriver_FontSWI                 *       &80147
  242.  
  243. XPDriver_EndJob                 *       &A0148
  244. PDriver_EndJob                  *       &80148
  245.    ;Entry
  246.    ;  R0 = job (OS_F)
  247.  
  248. XPDriver_AbortJob               *       &A0149
  249. PDriver_AbortJob                *       &80149
  250.    ;Entry
  251.    ;  R0 = job (OS_F)
  252.  
  253. XPDriver_Reset                  *       &A014A
  254. PDriver_Reset                   *       &8014A
  255.  
  256. XPDriver_GiveRectangle          *       &A014B
  257. PDriver_GiveRectangle           *       &8014B
  258.    ;Entry
  259.    ;  R0 = id (Int)
  260.    ;  R1 -> rect (OS_Box)
  261.    ;  R2 -> trfm (OS_HomTrfm)
  262.    ;  R3 -> pos (OS_Coord)
  263.    ;  R4 = bg (OS_Colour)
  264.  
  265. XPDriver_DrawPage               *       &A014C
  266. PDriver_DrawPage                *       &8014C
  267.    ;Entry
  268.    ;  R0 = copies_and_flags (PDriver_DrawFlags)
  269.    ;  R1 = rect (pointer to OS_Box)
  270.    ;  R2 = page (Int)
  271.    ;  R3 -> page_no (String)
  272.    ;Exit
  273.    ;  R0 = more (Bool)
  274.    ;  R2 = id (Int)
  275.  
  276. XPDriver_GetRectangle           *       &A014D
  277. PDriver_GetRectangle            *       &8014D
  278.    ;Entry
  279.    ;  R1 = rect (pointer to OS_Box)
  280.    ;Exit
  281.    ;  R0 = more (Bool)
  282.    ;  R2 = id (Int)
  283.  
  284. XPDriver_CancelJob              *       &A014E
  285. PDriver_CancelJob               *       &8014E
  286.    ;Entry
  287.    ;  R0 = job (OS_F)
  288.  
  289. XPDriver_ScreenDump             *       &A014F
  290. PDriver_ScreenDump              *       &8014F
  291.    ;Entry
  292.    ;  R0 = job (OS_F)
  293.  
  294. XPDriver_EnumerateJobs          *       &A0150
  295. PDriver_EnumerateJobs           *       &80150
  296.    ;Entry
  297.    ;  R0 = context (Int)
  298.    ;Exit
  299.    ;  R0 = context_out (Int)
  300.  
  301. XPDriver_SetPrinter             *       &A0151
  302. PDriver_SetPrinter              *       &80151
  303.  
  304. XPDriver_CancelJobWithError     *       &A0152
  305. PDriver_CancelJobWithError      *       &80152
  306.    ;Entry
  307.    ;  R0 = job (OS_F)
  308.    ;  R1 -> error (OS_Error)
  309.  
  310. XPDriver_SelectIllustration     *       &A0153
  311. PDriver_SelectIllustration      *       &80153
  312.    ;Entry
  313.    ;  R0 = job (OS_F)
  314.    ;  R1 -> title (String)
  315.    ;Exit
  316.    ;  R0 = old_job (OS_F)
  317.  
  318. XPDriver_InsertIllustration     *       &A0154
  319. PDriver_InsertIllustration      *       &80154
  320.    ;Entry
  321.    ;  R0 = job (OS_F)
  322.    ;  R1 -> clip_path (Draw_Path)
  323.    ;  R2 = x0 (Int)
  324.    ;  R3 = y0 (Int)
  325.    ;  R4 = x1 (Int)
  326.    ;  R5 = y1 (Int)
  327.    ;  R6 = x2 (Int)
  328.    ;  R7 = y2 (Int)
  329.  
  330. XPDriver_DeclareFont            *       &A0155
  331. PDriver_DeclareFont             *       &80155
  332.    ;Entry
  333.    ;  R0 = font (Font_F)
  334.    ;  R1 -> font_name (String)
  335.    ;  R2 = flags (PDriver_FontFlags)
  336.  
  337. XPDriver_DeclareDriver          *       &A0156
  338. PDriver_DeclareDriver           *       &80156
  339.    ;Entry
  340.    ;  R0 = reason (Int)
  341.    ;  R1 = workspace (pointer to Void)
  342.    ;  R2 = type (PDriver_Type)
  343.  
  344. XPDriver_RemoveDriver           *       &A0157
  345. PDriver_RemoveDriver            *       &80157
  346.    ;Entry
  347.    ;  R0 = type (PDriver_Type)
  348.  
  349. XPDriver_SelectDriver           *       &A0158
  350. PDriver_SelectDriver            *       &80158
  351.    ;Entry
  352.    ;  R0 = type (PDriver_Type)
  353.    ;Exit
  354.    ;  R0 = old_type (PDriver_Type)
  355.  
  356. XPDriver_EnumerateDrivers       *       &A0159
  357. PDriver_EnumerateDrivers        *       &80159
  358.    ;Entry
  359.    ;  R0 = context (Int)
  360.    ;Exit
  361.    ;  R0 = context_out (Int)
  362.    ;  R1 = type (PDriver_Type)
  363.  
  364. XPDriver_MiscOp                 *       &A015A
  365. PDriver_MiscOp                  *       &8015A
  366.  
  367. PDriverMiscOp_AddFont           *       &0
  368.    ;Entry
  369.    ;  R0 = &0
  370.    ;  R1 -> font_name (String)
  371.    ;  R2 -> alien_name (String)
  372.    ;  R3 = flags (PDriver_FontMapFlags)
  373.    ;  R4 = add_flags (PDriver_FontAddFlags)
  374.  
  375. PDriverMiscOp_RemoveFont        *       &1
  376.    ;Entry
  377.    ;  R0 = &1
  378.    ;  R1 -> font_name (String)
  379.  
  380. PDriverMiscOp_EnumerateFonts    *       &2
  381.    ;Entry
  382.    ;  R0 = &2
  383.    ;  R1 = buffer (pointer to String)
  384.    ;  R2 = size (Int)
  385.    ;  R3 = context (Int)
  386.    ;  R4 = flags (PDriver_EnumerateFlags)
  387.    ;Exit
  388.    ;  R1 -> end (Char)
  389.    ;  R2 corrupted
  390.    ;  R3 = context_out (Int)
  391.  
  392. PDriverMiscOp_RegisterDumper    *       &80000000
  393.    ;Entry
  394.    ;  R0 = &80000000
  395.    ;  R1 = pdumper_no (Int)
  396.    ;  R2 = dp_version_required (Int)
  397.    ;  R3 = dumper_workspace (pointer to Void)
  398.    ;  R4 -> dumper_code (code)
  399.    ;  R5 = supported_calls (Bits)
  400.    ;  R6 = supported_strips (Bits)
  401.  
  402. PDriverMiscOp_DeregisterDumper  *       &80000001
  403.    ;Entry
  404.    ;  R0 = &80000001
  405.    ;  R1 = pdumper_no (Int)
  406.  
  407. PDriverMiscOp_StripTypes        *       &80000002
  408.    ;Entry
  409.    ;  R0 = &80000002
  410.    ;  R1 = pdumper_no (Int)
  411.    ;Exit
  412.    ;  R0 = supported_strips (Bits)
  413.  
  414. XPDriver_MiscOpForDriver        *       &A015B
  415. PDriver_MiscOpForDriver         *       &8015B
  416.  
  417. PDriverMiscOpForDriver_AddFont  *       &0
  418.    ;Entry
  419.    ;  R0 = &0
  420.    ;  R1 -> font_name (String)
  421.    ;  R2 -> alien_name (String)
  422.    ;  R3 = flags (PDriver_FontMapFlags)
  423.    ;  R4 = add_flags (PDriver_FontAddFlags)
  424.    ;  R8 = type (PDriver_Type)
  425.  
  426. PDriverMiscOpForDriver_RemoveFont *       &1
  427.    ;Entry
  428.    ;  R0 = &1
  429.    ;  R1 -> font_name (String)
  430.    ;  R8 = type (PDriver_Type)
  431.  
  432. PDriverMiscOpForDriver_EnumerateFonts *       &2
  433.    ;Entry
  434.    ;  R0 = &2
  435.    ;  R1 = buffer (pointer to String)
  436.    ;  R2 = size (Int)
  437.    ;  R3 = context (Int)
  438.    ;  R4 = flags (PDriver_EnumerateFlags)
  439.    ;  R8 = type (PDriver_Type)
  440.    ;Exit
  441.    ;  R1 -> end (Char)
  442.    ;  R2 corrupted
  443.    ;  R3 = context_out (Int)
  444.  
  445. PDriverMiscOpForDriver_RegisterDumper *       &80000000
  446.    ;Entry
  447.    ;  R0 = &80000000
  448.    ;  R1 = pdumper_no (Int)
  449.    ;  R2 = dp_version_required (Int)
  450.    ;  R3 = dumper_workspace (pointer to Void)
  451.    ;  R4 -> dumper_code (code)
  452.    ;  R5 = supported_calls (Bits)
  453.    ;  R6 = supported_strips (Bits)
  454.    ;  R8 = type (PDriver_Type)
  455.  
  456. PDriverMiscOpForDriver_DeregisterDumper *       &80000001
  457.    ;Entry
  458.    ;  R0 = &80000001
  459.    ;  R1 = pdumper_no (Int)
  460.    ;  R8 = type (PDriver_Type)
  461.  
  462. PDriverMiscOpForDriver_StripTypes *       &80000002
  463.    ;Entry
  464.    ;  R0 = &80000002
  465.    ;  R1 = pdumper_no (Int)
  466.    ;  R8 = type (PDriver_Type)
  467.    ;Exit
  468.    ;  R0 = supported_strips (Bits)
  469.  
  470. XPDriver_SetDriver              *       &A015C
  471. PDriver_SetDriver               *       &8015C
  472.    ;Entry
  473.    ;  R1 = pdumper_no (Int)
  474.    ;  R2 -> ensure_command (String)
  475.    ;  R3 -> configuration_data1 (Byte)
  476.    ;  R4 -> configuration_data2 (Byte)
  477.    ;  R5 = configuration_word (Int)
  478.  
  479. XPDriver_JPEGSWI                *       &A015D
  480. PDriver_JPEGSWI                 *       &8015D
  481.  
  482. PDriverJPEGSWI_Info             *       &49980
  483.  
  484. PDriverJPEGSWIInfo_Dimensions   *       &1
  485.    ;Entry
  486.    ;  R0 = &1
  487.    ;  R1 -> image (JPEG_Image)
  488.    ;  R2 = size (Int)
  489.    ;  R8 = &49980
  490.    ;Exit
  491.    ;  R0 = info_flags (JPEG_InfoFlags)
  492.    ;  R2 = width (Int)
  493.    ;  R3 = height (Int)
  494.    ;  R4 = xdpi (Int)
  495.    ;  R5 = ydpi (Int)
  496.    ;  R6 = workspace_size (Int)
  497.  
  498. PDriverJPEGSWI_FileInfo         *       &49981
  499.  
  500. PDriverJPEGSWIFileInfo_Dimensions *       &1
  501.    ;Entry
  502.    ;  R0 = &1
  503.    ;  R1 -> file_name (String)
  504.    ;  R8 = &49981
  505.    ;Exit
  506.    ;  R0 = info_flags (JPEG_InfoFlags)
  507.    ;  R2 = width (Int)
  508.    ;  R3 = height (Int)
  509.    ;  R4 = xdpi (Int)
  510.    ;  R5 = ydpi (Int)
  511.    ;  R6 = workspace_size (Int)
  512.  
  513. PDriverJPEGSWI_PlotScaled       *       &49982
  514.    ;Entry
  515.    ;  R0 -> image (JPEG_Image)
  516.    ;  R1 = x (Int)
  517.    ;  R2 = y (Int)
  518.    ;  R3 -> factors (OS_Factors)
  519.    ;  R4 = size (Int)
  520.    ;  R5 = flags (JPEG_ScaleFlags)
  521.    ;  R8 = &49982
  522.  
  523. PDriverJPEGSWI_PlotFileScaled   *       &49983
  524.    ;Entry
  525.    ;  R0 -> file_name (String)
  526.    ;  R1 = x (Int)
  527.    ;  R2 = y (Int)
  528.    ;  R3 -> factors (OS_Factors)
  529.    ;  R4 = flags (JPEG_ScaleFlags)
  530.    ;  R8 = &49983
  531.  
  532. PDriverJPEGSWI_PlotTransformed  *       &49984
  533.    ;Entry
  534.    ;  R0 -> image (JPEG_Image)
  535.    ;  R1 = flags (JPEG_TransformFlags)
  536.    ;  R2 -> trfm_or_rect (OS_Trfm)
  537.    ;  R3 = size (Int)
  538.    ;  R8 = &49984
  539.  
  540. PDriverJPEGSWI_PlotFileTransformed *       &49985
  541.    ;Entry
  542.    ;  R0 -> file_name (String)
  543.    ;  R1 = flags (JPEG_TransformFlags)
  544.    ;  R2 -> trfm_or_rect (OS_Trfm)
  545.    ;  R8 = &49985
  546.  
  547. Service_Print                   *       &41
  548.    ;Entry
  549.    ;  R1 = &41
  550.  
  551. Service_PDriverStarting         *       &65
  552.    ;Entry
  553.    ;  R1 = &65
  554.  
  555. Service_PDriverGetMessages      *       &78
  556.    ;Entry
  557.    ;  R1 = &78
  558.    ;Exit
  559.    ;  R1 = unclaimed (Bool)
  560.    ;  R3 -> common_cb (MessageTrans_ControlBlock)
  561.  
  562. Service_PDriverChanged          *       &7F
  563.    ;Entry
  564.    ;  R1 = &7F
  565.  
  566.         ]
  567.         END
  568.