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

  1. MoveWindow v0.12 (28-Feb-93)
  2. ---------- -----------------
  3. By Andrew Brooks & Nick Smith, from an idea by Iain Fothergill (aka Wowbagger).
  4.  
  5. New code by Nick Smith - much better performance (doesn't actually claim
  6. Null events!)
  7.  
  8. Usage
  9. -----
  10.  
  11. To move a window without using the title bar:
  12.  
  13. Press and hold <CTRL> and <SHIFT>. The window can then be dragged as normal
  14. by holding a mouse button down anywhere in the window. Use <CTRL> & <SHFT>
  15. and <ADJUST> to keep the window at the same depth.
  16.  
  17. NOTE: Mouse clicks are just detected, not intercepted, and so the mouse
  18. should not point to any sensitive area in the window, eg. over a 'format
  19. hard disc' icon!
  20.  
  21. Docs
  22. ----
  23.  
  24. The old version of this module detected key presses by polling on NullEvents
  25. which basically eats up lots of CPU time. A much better solution is to use
  26. essentially the same code, but keyboard events (interrupt events, not Wimp
  27. ones) to wake up the module task to the fact that a key has been pressed -
  28. if this is then Ctrl+Shft, then we send a Wimp message to ourselves.
  29.  
  30. That maybe a little odd, but was the quickest way I could think of to be sure
  31. that the computer didn't get upset about interrupts, etc. So the message
  32. (one of a block I have had allocated from Acorn) wakes up the *application*
  33. code inside the module, which can then take action as it did before on
  34. null events.
  35.  
  36. Hence the only time MoveWindow is active now is a) when you have pressed the
  37. Ctrl & Shft keys, or b) when you are actually in a drag operation using Move
  38. Window.
  39.  
  40. The module 'MoveWin003' is left inside the application so you can compare 
  41. its performance (eg, with Ran Mokadys !Usage) with the new version.
  42.  
  43. Contacts
  44. --------
  45.  
  46. Andrew Brooks can be contacted at:
  47. arb@comp.lancs.ac.uk
  48. Computer Science Department,
  49. Lancaster University,
  50. Lancaster,
  51. LA1 4YR.
  52.  
  53. Iain Fothergill can be contacted at:
  54. "Joycelyn", Preston Road,
  55. Charnock Richard,
  56. Chorley,
  57. Lancashire,
  58. PR7 5HH
  59.  
  60. Nick Smith can be contacted at:
  61. nas20@phx.cam.ac.uk              [At least until July '94]
  62. Churchill College
  63. Cambridge
  64. CB3 0DS
  65.  
  66. History
  67. -------
  68.  
  69. 0.01              BASIC program by Iain Fothergill
  70. 0.02 19 Nov 1991  Module by Andrew Brooks
  71. 0.03 30 Jan 1992  Bugfix, stops MoveWindow restarting the window drag
  72.                   (possibly picking up a new window) every null event.
  73. 0.10 08 Feb 1993  Recoded keypress handling to avoid eating *huge* numbers
  74.                   of NullEvents 8-)
  75.                   Reduced RMA workspace from 1024 to 256 bytes - memory,
  76.                   memory, memory ... ;-)
  77. 0.11 09 Feb 1993  Managed to reduce the wimp messages even further - only
  78.                   sends out messages when pressing Ctrl+Shft down
  79. 0.12 28 Feb 1993  Dynamic new version by great public demand ... NOW lets
  80.                   you use Ctrl+Shft+ADJUST to keep the window in the same
  81.                   position in the window depth stack. The code for this
  82.                   is immensely cunning (no, really) and uses RO3 PostFilters
  83.                   so obviously doesn't work under RO2. Hence use MoveWin011
  84.                   (supplied) under RO2.
  85.                   If you want to use ALT+SHFT instead of CTRL+SHFT, there
  86.                   is an option at the start of the source code - just 
  87.                   comment out the line you don't want.
  88.