home *** CD-ROM | disk | FTP | other *** search
- WimpWindow
- ==========
-
- Version 1.02 (18 Dec 1996)
-
- Introduction
- ------------
- Stuart Brodie (Good man - support him in any way you can) asked in the
- newsgroups one day if it would be possible to change some of the information
- about a window which is 'unchangable' by normal means. Things like the window
- scroll bar colours and stuff. I said I'd look into it. That was about a month
- back, and I've finally found time to actually /do/ something about it.
-
- The module provides 8 SWIs to allow you to modify a window even when it has
- been defined.
-
-
- Usage
- -----
- Run the !Create file. That's it.
- Hopefully, the code will be assembled with no errors and all that in future
- will be required is the running of the !Run code file.
-
-
- SWIs
- ----
- The SWIs provided are :
- &90340 WimpWindow_Colour
- &90341 WimpWindow_TitleFlags
- &90342 WimpWindow_WorkFlags
- &90343 WimpWindow_SpriteArea
- &90344 WimpWindow_MinWidth
- &90345 WimpWindow_MinHeight
- &90346 WimpWindow_TitleData
- &90347 WimpWindow_WindowFlags
-
- The SWIs will return an error if the handle is not a window handle. Also, in
- the standard version, if you attempt to access a window which you do not own
- an error will be raised. The WimpWinE module will allow other applications to
- modify windows which they do not own - this should be used with care.
-
-
- WimpWindow_Colour - Change the colours of a window.
- -----------------
- => r0-> window handle
- r1 = tool number
- 0 = frame fg, 1 = frame bg
- 2 = workarea fg, 3 = workarea bg
- 4 = scroll outer, 5 = scroll inner
- 6 = focus colour
- r2 = new colour
-
- WimpWindow_TitleFlags - Change the title flags of a window
- ---------------------
- => r0-> window handle
- r1 = BIC value
- r2 = EOR value
-
- WimpWindow_WorkFlags - Change the workarea flags (buttons) of a window
- --------------------
- => r0-> window handle
- r1 = BIC value
- r2 = EOR value
-
- WimpWindow_SpriteArea - Change the sprite area of a window
- ---------------------
- => r0-> window handle
- r1 = pointer to new area
-
- WimpWindow_MinWidth - Change the minimum width of a window
- -------------------
- => r0-> window handle
- r1 = new minimum
-
- WimpWindow_MinHeight - Change the minimum height of a window
- --------------------
- => r0-> window handle
- r1 = new minimum
-
- WimpWindow_TitleData - Change the title data of a window
- --------------------
- => r0-> window handle
- r1 = pointer to new title data (this will be copied)
-
- WimpWindow_WindowFlags - Change the main window flags
- ----------------------
- => r0-> window handle
- r1 = BIC value
- r2 = EOR value
-
-
- How it works
- ------------
- By modifying the Wimp's internal structures it is quite simple to change the
- flags of a window. However, due to this it is NOT recommended that you steal
- the code and re-implement it in your program. By having this SWI interface
- you should be able to redesign the module if the wimp's structure changes.
-
-
- Bugs
- ----
- Due to the nasty and hacky way in which this module works I should be VERY
- careful in what you do - if you fiddle with windows please be sure of what
- you are doing. Under RO3.1 and any imaginary WindowManager 3.22 everything
- seems ok. Under RO3.7 it would seem that the window manager has undergone a
- few changes and therefore I've had to 'tweak' the module to make it
- (hopefully) function under it.
-
- This module has yet to be tested on RO3.5 or RO3.6. It WILL break when
- WindowManager reaches version 4.00. You have been warned.
-
- I have also tested the module under RO2 emulation and it would seem that the
- window manager has changed it's internal structures too much between it and
- RO3 to make it viable to start fiddling - anyhow, even Niall has a RiscPC
- now, I'm beginning to feel left out...
-
- If you find that it works/fails on another version please mail me and I can
- change this file/the code.
-
-
- Disclaimer
- ----------
- The author accepts no responsibility for any problems which this
- application may cause or loss of data resulting in its use. This application
- is Public Domain Freeware. This means that it may be distributed, so long as
- no charge other than copying costs are charged for it.
-
-
- Source code
- -----------
- This program requires the !JFPatch pre-assembler to make the code. This is
- a simple text-to-basic assembler which takes a text assembler file, makes a
- basic program from it to assemble, assembles it and returns any errors. It is
- available from Justin Fletcher's website (users.essex.ac.uk/users/gerph) or
- directly by mailing to Gerph@essex.ac.uk.
- All source code and the resultant module must be distributed together.
-
-
- Contact
- -------
- Any comments, queries, donations or bug reports can be sent to Justin
- Fletcher at :
-
- E-Mail : Gerph@essex.ac.uk
- URL : http://users.essex.ac.uk/users/gerph
- IRC : On #Acorn as Gerph
- Finger : finger jrflet@postman.essex.ac.uk
- Tel : (01842) 813979
-
- Snail Mail :
- Justin Fletcher
- “Galadriel”
- 17b Cromwell Road,
- Weeting,
- Brandon,
- Suffolk.
- IP27 0QT
-
-
- History
- -------
- Version 1.00 : 14 Nov 1996
- Simple module to change the colour of a window
- Version 1.01 : 14 Nov 1996
- Will allow modifying of almost all the 'unavailable' sections
- of windows.
- Beta release to Stuart Brodie
- Version 1.02 : 18 Dec 1996
- Modified for use with RO3.6+ offset of 8 - what's the new data
- (at offset &44) used for ?
-
-
- Thanks
- ------
- Right, this is it. I've got to say this. THANK YOU to Stuart Brodie. I can't
- think of anybody else who has helped me more in the past month or two with
- requests for things in his extensive Internet software and with other
- problems. To him I'd just like to say a couple of thousand thanks. However,
- as this file is already 5 times the size of the module I'd better not.
-
- You get the idea anyhow.
-