home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / filemanager / profiler_2 / !ProFiler / Dox / SWIs < prev    next >
Text File  |  1997-05-12  |  5KB  |  168 lines

  1. <html><head><title>ProFiler SWI calls</title></head>
  2.  
  3. <body>
  4. <h1><center><u>ProFiler SWI calls</u></center></h1>
  5.  
  6. <p>As no SWI chunk has been allocated yet, ProFiler uses a temporary one. It is likely that the chunk will be &400, but that remains to be seen. Until then, use only the names of the SWIs, not the numbers.
  7.  
  8. <h2><a name="ObjectDesc">Filer_ObjectDesc</a></h2>
  9. <pre>On entry:
  10. R0    Object name (will be canonicalised)
  11. On exit:
  12. R2    Viewer description or 0 if viewer not visible
  13. R3    Object description or 0 if object not visible
  14. </pre>
  15.  
  16. This will return pointers to descriptions of the object and the viewer
  17. containing it if it is currently visible. If the viewer that should have
  18. contained the object is visible, but the object is not, R3 will be 0 on exit
  19. and R2 will point to the viewer description.
  20.  
  21.  
  22. <h2><a name="ObjectName">Filer_ObjectName</a></h2>
  23.  
  24. <pre>On entry:
  25. R0    Buffer for returned name (min 256 bytes)
  26. R2    Viewer description
  27. R3    Object description
  28. On exit:
  29. All regs preserved
  30. </pre>
  31.  
  32. This will generate a full pathname for the file defined by R2 and R3.
  33.  
  34.  
  35. <h2><a name="CreateSprite">Filer_CreateSprite</a></h2>
  36.  
  37. <pre>On entry:
  38. R0    Sprite name
  39. R1    Sprite mode (normal mode desciption block)
  40. On exit:
  41. R1    Sprite area
  42. R2    Sprite
  43. </pre>
  44.  
  45. This will create a sprite in the Filer's sprite pool.
  46.  
  47.  
  48. <h2><a name="SetSprite">Filer_SetSprite</a></h2>
  49.  
  50. <pre>On entry:
  51. R0    S+Spritename or error block
  52. R1    Full pathname
  53. On exit:
  54. All regs preserved
  55. </pre>
  56.  
  57. This will use the given sprite for the object given in R1. If the
  58. directory is still open, the sprite will replace the one currently used, which
  59. will usually be 'file_wait'. If the object is not visible, nothing will happen.
  60. You can also report an error with this SWI. The sprite will change to
  61. 'file_err', and the text will be shown in the infobox. The error number should
  62. have bits 24-30 clear in order to be recognised as such.
  63.  
  64.  
  65. <h2><a name="CopySprite">Filer_CopySprite <i>(Not implemented yet)</i></a></h2>
  66.  
  67. <pre>On entry:
  68. R0    Sprite
  69. On exit:
  70. All regs preserved
  71. </pre>
  72.  
  73. This will take a copy of the sprite and put it in the Filer's sprite pool. You should call this after completing your background process of drawing the sprite. After calling this SWI you can dispose of the sprite and call <a href="#SetSprite">Filer_SetSprite</a>.
  74.  
  75.  
  76. <h2><a name="ReadChoices">Filer_ReadChoices</a></h2>
  77. <i>Currently only for internal use.</i>
  78. <h2><a name="NewChoices">Filer_NewChoices</a></h2>
  79. <i>Currently only for internal use.</i>
  80. <h2><a name="LoadKeys">Filer_LoadKeys</a></h2>
  81. <i>Currently only for internal use.</i>
  82.  
  83.  
  84. <h2><a name="KeyName">Filer_KeyName</a></h2>
  85.  
  86. <pre>On entry:
  87. R0    Key code
  88. On exit:
  89. R0    Key name
  90. </pre>
  91.  
  92. This SWI should really have been provided by the Toolbox, but since it isn't, I've put it in ProFiler. The reason for this SWI is to get a consistent naming of keys. It returns the name of the given key code.
  93.  
  94.  
  95. <h2><a name="ViewerDesc">Filer_ViewerDesc</a></h2>
  96.  
  97. <pre>On entry:
  98. R0    Canonical directory name
  99. On exit:
  100. R2    Viewer (or 0 if not open)
  101. </pre>
  102.  
  103. Converts a name to a viewer description. You need to know the format of the
  104. descriptor block to make use of it, and as that format can still change, it
  105. has not been documented here. At the moment is can be used to determine if the
  106. viewer is open.
  107.  
  108.  
  109. <h2><a name="Boot">Filer_Boot</a></h2>
  110.  
  111. <pre>On entry:
  112. R0    Canonical directory name
  113. </pre>
  114.  
  115. Does exactly the same as the *Filer_Boot command.
  116.  
  117.  
  118. <h2><a name="Select">Filer_Select</a></h2>
  119.  
  120. <pre>On entry:
  121. R0    Reason code:
  122.     0    Select file (only)
  123.         R1->filename to select
  124.     1    Add file to selection
  125.         R1->filename to add
  126.     16    Read current viewer
  127.         On exit:
  128.         R1->Viewer name, or 0 if no current viewer
  129.     17    Read one selected file
  130.         R1->Viewer name, of 0 for current viewer
  131.         On exit:
  132.         R1->Object name, or 0 if none selected
  133.     18    Read multiple selected files
  134.         R1->Viewer name, or 0 for current viewer
  135.         R3=0 for first file, or preserved from last call
  136.         On exit:
  137.         R1->Object name, or 0 if R3=0
  138.         R3= Context pointer for getting next object, 0 if finished
  139. </pre>
  140.  
  141. This call can be used to read or control the selection. It is used by the
  142. variable Filer$Selected among other things.
  143. The 'current viewer' in this context means the one that has the input focus.
  144.  
  145.  
  146. <h2><a name="Sprite">Filer_Sprite</a></h2>
  147.  
  148. <pre>On entry:
  149. R0    Desired sprite height (0=68 osu, 1=36 osu)
  150. R1    Object name
  151. R2    Task handle to send reply to (or 0 for a broadcast)
  152. On exit:
  153. R0    Optional sprite to use while waiting for the message
  154. </pre>
  155.  
  156. This call is the main interface to binding sprites to disc objects. Unlike
  157. earlier days where every application had its own view of these things, the
  158. filer provides this SWI to keep it in one place. The filer can be extended
  159. with programs like the Sprite Clients, and these extentions will also be
  160. considered when this SWI is called.
  161. <p>
  162. After calling this SWI, a message will be sent when the sprite has been found.
  163. Finding the sprite may mean that apps are booted and many other things, so
  164. there is no maximum reply delay. Indeed, if the object doesn't exist, there
  165. will be no reply at all. This issue may be addressed in later versions.
  166.  
  167. </body></html>
  168.