home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / programs / programming / wimpwindow / !Help < prev    next >
Encoding:
Text File  |  1996-12-18  |  5.7 KB  |  182 lines

  1.                                    WimpWindow
  2.                                    ==========
  3.  
  4. Version 1.02 (18 Dec 1996)
  5.      
  6. Introduction
  7. ------------
  8. Stuart Brodie (Good man - support him in any way you can) asked in the
  9. newsgroups one day if it would be possible to change some of the information
  10. about a window which is 'unchangable' by normal means. Things like the window
  11. scroll bar colours and stuff. I said I'd look into it. That was about a month
  12. back, and I've finally found time to actually /do/ something about it.
  13.  
  14. The module provides 8 SWIs to allow you to modify a window even when it has
  15. been defined.
  16.  
  17.  
  18. Usage
  19. -----
  20. Run the !Create file. That's it.
  21. Hopefully, the code will be assembled with no errors and all that in future
  22. will be required is the running of the !Run code file.
  23.  
  24.  
  25. SWIs
  26. ----
  27. The SWIs provided are :
  28.   &90340   WimpWindow_Colour
  29.   &90341   WimpWindow_TitleFlags
  30.   &90342   WimpWindow_WorkFlags
  31.   &90343   WimpWindow_SpriteArea
  32.   &90344   WimpWindow_MinWidth
  33.   &90345   WimpWindow_MinHeight
  34.   &90346   WimpWindow_TitleData
  35.   &90347   WimpWindow_WindowFlags
  36.  
  37. The SWIs will return an error if the handle is not a window handle. Also, in
  38. the standard version, if you attempt to access a window which you do not own
  39. an error will be raised. The WimpWinE module will allow other applications to
  40. modify windows which they do not own - this should be used with care.
  41.  
  42.  
  43. WimpWindow_Colour - Change the colours of a window.
  44. -----------------
  45. => r0-> window handle
  46.    r1 = tool number
  47.         0 = frame fg,     1 = frame bg
  48.         2 = workarea fg,  3 = workarea bg
  49.         4 = scroll outer, 5 = scroll inner
  50.         6 = focus colour
  51.    r2 = new colour
  52.  
  53. WimpWindow_TitleFlags - Change the title flags of a window
  54. ---------------------
  55. => r0-> window handle
  56.    r1 = BIC value
  57.    r2 = EOR value
  58.  
  59. WimpWindow_WorkFlags - Change the workarea flags (buttons) of a window
  60. --------------------
  61. => r0-> window handle
  62.    r1 = BIC value
  63.    r2 = EOR value
  64.  
  65. WimpWindow_SpriteArea - Change the sprite area of a window
  66. ---------------------
  67. => r0-> window handle
  68.    r1 = pointer to new area
  69.  
  70. WimpWindow_MinWidth - Change the minimum width of a window
  71. -------------------
  72. => r0-> window handle
  73.    r1 = new minimum
  74.  
  75. WimpWindow_MinHeight - Change the minimum height of a window
  76. --------------------
  77. => r0-> window handle
  78.    r1 = new minimum
  79.  
  80. WimpWindow_TitleData - Change the title data of a window
  81. --------------------
  82. => r0-> window handle
  83.    r1 = pointer to new title data (this will be copied)
  84.  
  85. WimpWindow_WindowFlags - Change the main window flags
  86. ----------------------
  87. => r0-> window handle
  88.    r1 = BIC value
  89.    r2 = EOR value
  90.  
  91.  
  92. How it works
  93. ------------
  94. By modifying the Wimp's internal structures it is quite simple to change the
  95. flags of a window. However, due to this it is NOT recommended that you steal
  96. the code and re-implement it in your program. By having this SWI interface
  97. you should be able to redesign the module if the wimp's structure changes.
  98.  
  99.  
  100. Bugs
  101. ----
  102. Due to the nasty and hacky way in which this module works I should be VERY
  103. careful in what you do - if you fiddle with windows please be sure of what
  104. you are doing. Under RO3.1 and any imaginary WindowManager 3.22 everything
  105. seems ok. Under RO3.7 it would seem that the window manager has undergone a
  106. few changes and therefore I've had to 'tweak' the module to make it
  107. (hopefully) function under it.
  108.  
  109. This module has yet to be tested on RO3.5 or RO3.6. It WILL break when
  110. WindowManager reaches version 4.00. You have been warned.
  111.  
  112. I have also tested the module under RO2 emulation and it would seem that the
  113. window manager has changed it's internal structures too much between it and
  114. RO3 to make it viable to start fiddling - anyhow, even Niall has a RiscPC
  115. now, I'm beginning to feel left out...
  116.  
  117. If you find that it works/fails on another version please mail me and I can
  118. change this file/the code.
  119.  
  120.  
  121. Disclaimer
  122. ----------
  123.   The author accepts no responsibility for any problems which this
  124. application may cause or loss of data resulting in its use. This application
  125. is Public Domain Freeware. This means that it may be distributed, so long as
  126. no charge other than copying costs are charged for it.
  127.   
  128.  
  129. Source code
  130. -----------
  131.    This program requires the !JFPatch pre-assembler to make the code. This is
  132. a simple text-to-basic assembler which takes a text assembler file, makes a
  133. basic program from it to assemble, assembles it and returns any errors. It is
  134. available from Justin Fletcher's website (users.essex.ac.uk/users/gerph) or
  135. directly by mailing to Gerph@essex.ac.uk.
  136.    All source code and the resultant module must be distributed together.
  137.  
  138.  
  139. Contact
  140. -------
  141. Any comments, queries, donations or bug reports can be sent to Justin
  142. Fletcher at :
  143.  
  144. E-Mail : Gerph@essex.ac.uk
  145. URL    : http://users.essex.ac.uk/users/gerph
  146. IRC    : On #Acorn as Gerph
  147. Finger : finger jrflet@postman.essex.ac.uk
  148. Tel    : (01842) 813979
  149.  
  150. Snail Mail :
  151.     Justin Fletcher
  152.     “Galadriel”
  153.     17b Cromwell Road,
  154.     Weeting,
  155.     Brandon,
  156.     Suffolk.
  157.     IP27 0QT
  158.  
  159.  
  160. History
  161. -------
  162. Version 1.00 : 14 Nov 1996
  163.                Simple module to change the colour of a window
  164. Version 1.01 : 14 Nov 1996
  165.                Will allow modifying of almost all the 'unavailable' sections
  166.                of windows.
  167.                Beta release to Stuart Brodie
  168. Version 1.02 : 18 Dec 1996
  169.                Modified for use with RO3.6+ offset of 8 - what's the new data
  170.                (at offset &44) used for ?
  171.  
  172.  
  173. Thanks
  174. ------
  175. Right, this is it. I've got to say this. THANK YOU to Stuart Brodie. I can't
  176. think of anybody else who has helped me more in the past month or two with
  177. requests for things in his extensive Internet software and with other
  178. problems. To him I'd just like to say a couple of thousand thanks. However,
  179. as this file is already 5 times the size of the module I'd better not.
  180.  
  181. You get the idea anyhow.
  182.