home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ARM Club 3
/
TheARMClub_PDCD3.iso
/
hensa
/
windows
/
a060_1
/
!MoveWind
/
!Help
< prev
next >
Wrap
Text File
|
1993-02-28
|
3KB
|
88 lines
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.