home *** CD-ROM | disk | FTP | other *** search
- MoveWindow v0.12 (28-Feb-93)
- ---------- -----------------
- By Andrew Brooks & Nick Smith, from an idea by Iain Fothergill (aka Wowbagger).
-
- New code by Nick Smith - much better performance (doesn't actually claim
- Null events!)
-
- Usage
- -----
-
- To move a window without using the title bar:
-
- Press and hold <CTRL> and <SHIFT>. The window can then be dragged as normal
- by holding a mouse button down anywhere in the window. Use <CTRL> & <SHFT>
- and <ADJUST> to keep the window at the same depth.
-
- NOTE: Mouse clicks are just detected, not intercepted, and so the mouse
- should not point to any sensitive area in the window, eg. over a 'format
- hard disc' icon!
-
- Docs
- ----
-
- The old version of this module detected key presses by polling on NullEvents
- which basically eats up lots of CPU time. A much better solution is to use
- essentially the same code, but keyboard events (interrupt events, not Wimp
- ones) to wake up the module task to the fact that a key has been pressed -
- if this is then Ctrl+Shft, then we send a Wimp message to ourselves.
-
- That maybe a little odd, but was the quickest way I could think of to be sure
- that the computer didn't get upset about interrupts, etc. So the message
- (one of a block I have had allocated from Acorn) wakes up the *application*
- code inside the module, which can then take action as it did before on
- null events.
-
- Hence the only time MoveWindow is active now is a) when you have pressed the
- Ctrl & Shft keys, or b) when you are actually in a drag operation using Move
- Window.
-
- The module 'MoveWin003' is left inside the application so you can compare
- its performance (eg, with Ran Mokadys !Usage) with the new version.
-
- Contacts
- --------
-
- Andrew Brooks can be contacted at:
- arb@comp.lancs.ac.uk
- Computer Science Department,
- Lancaster University,
- Lancaster,
- LA1 4YR.
-
- Iain Fothergill can be contacted at:
- "Joycelyn", Preston Road,
- Charnock Richard,
- Chorley,
- Lancashire,
- PR7 5HH
-
- Nick Smith can be contacted at:
- nas20@phx.cam.ac.uk [At least until July '94]
- Churchill College
- Cambridge
- CB3 0DS
-
- History
- -------
-
- 0.01 BASIC program by Iain Fothergill
- 0.02 19 Nov 1991 Module by Andrew Brooks
- 0.03 30 Jan 1992 Bugfix, stops MoveWindow restarting the window drag
- (possibly picking up a new window) every null event.
- 0.10 08 Feb 1993 Recoded keypress handling to avoid eating *huge* numbers
- of NullEvents 8-)
- Reduced RMA workspace from 1024 to 256 bytes - memory,
- memory, memory ... ;-)
- 0.11 09 Feb 1993 Managed to reduce the wimp messages even further - only
- sends out messages when pressing Ctrl+Shft down
- 0.12 28 Feb 1993 Dynamic new version by great public demand ... NOW lets
- you use Ctrl+Shft+ADJUST to keep the window in the same
- position in the window depth stack. The code for this
- is immensely cunning (no, really) and uses RO3 PostFilters
- so obviously doesn't work under RO2. Hence use MoveWin011
- (supplied) under RO2.
- If you want to use ALT+SHFT instead of CTRL+SHFT, there
- is an option at the start of the source code - just
- comment out the line you don't want.
-