home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 3 / PDCD_3.iso / utilities / utilsm / newerlook / NewerBits / DragHelp < prev   
Text File  |  1994-02-17  |  11KB  |  207 lines

  1. <============================================================================
  2.  
  3.                          D R A G   A   S P R I T E  +
  4.                            Version 2.02, 15 Feb 1994
  5.                          © Andrew Clover of DoggySoft
  6.  
  7. ============================================================================>
  8.  
  9. If you have been using version 1.09, you might like a quick summary of the
  10. updates. Skip this if you are a new user.
  11.  
  12. ===> Changes from 1.09 to 1.10
  13.  
  14. --> Fix of bug that stopped the dragging of sprites within window work area.
  15.     I was not able to test this previously as I couldn't find a program
  16.     which did it. (Thanks to Thomas Olsson for spotting this one.)
  17.  
  18. ===> Changes from 1.10 to 2.02 - TOTAL RECODE
  19.  
  20. --> New *DragType command provides much greater configurability than the old
  21.     *SemiDrags. Drop-shadows are now supported, because the new *DragType
  22.     command enables them to be at a different solidity than the sprite, so
  23.     they actually look good. Distance of shadows changeable.
  24. --> Applications can choose whether to have drop-shadows themselves, or you
  25.     can force them to use whatever setting you like.
  26. --> Five-fold algorithm for speed. It's now about as fast as is possible.
  27.     There shouldn't be any flicker at all. It's certainly smoother than RISC
  28.     OS 3 DragASprite.
  29. --> New method in the draw code when bbox is not in graphics window - doesn't
  30.     change the graphics window like RISC OS 3 DragASprite (PRMs say you
  31.     shouldn't anyway).
  32. --> Demessification of error handling
  33. --> Demessification of memory management
  34. --> Disadvantage: All the new code means its length has increased to a
  35.     (comparatively) whopping 6K!
  36.  
  37. <============================================================================
  38.  
  39. This program is Freeware. You are allowed to copy it and hand it around to
  40. your friends as much as you like, but you must supply the module with this
  41. help file, unedited. If you are a PD library, please write to us for the
  42. latest versions of all our programs.
  43.  
  44. ===> Introduction
  45.  
  46. DragASprite+ is an improved version of Acorn's DragASprite module that is
  47. supplied in ROM on RISC OS 3. The main advantages of this module over that
  48. in RISC OS 3 are:
  49.  
  50. -> You can run it on any version of RISC OS. Acorn's DragASprite will not
  51.    run if soft-loaded on RISC OS 2. Actually, I haven't tested it on RISC OS
  52.    2, but the old version worked, and I haven't used any RISC OS 3 only bits.
  53. -> It is quicker, providing a faster screen update and smoother movement of
  54.    icons.
  55. -> It fixes a minor bug present in unusual modes such as 22, and a strange
  56.    bug that popped up in StrongEd for some reason.
  57. -> It allows dragging of 256 colour sprites, unlike Acorn's which fails
  58.    either by producing incorrect colours or not letting you drag at all.
  59. -> It allows semi-transparent sprite drags, and instead of just masking out
  60.    every other pixel, it creates an alternating pattern providing no loss of
  61.    detail. The alternation also stops dithered icons looking completely
  62.    useless.
  63. -> It gives you the facility to set the CMOS flag to use solid drags by the
  64.    use of a star command.
  65. -> It is configurable to give many types of sprite drags. Either the sprite
  66.    or the shadow can be semi-transparent or solid, or shadows can be forced
  67.    off if you don't like them. The distance of the shadow from the sprite
  68.    may also be configured.
  69.  
  70. ===> Use
  71.  
  72. After you have loaded the new DragASprite module, the first thing to do is to
  73. make sure the DragASprite flag in battery-backed RAM is set on your computer.
  74. To do this enter the following command:
  75.  
  76.   *Configure SpriteDrags On
  77.  
  78. If you decide that solid drags are not for you then you can turn it off by
  79. using the above command with "Off".
  80.  
  81. Now it's time to choose what sort of sprite drags you want. The default is
  82. to have semi-transparent sprites with drop-shadows forced off, but there are
  83. many options. Enter *Help DragType to find out what they are, and *DragType
  84. to see the current settings. Some combinations to try:
  85.  
  86. *DragType -Sprite 2 -Shadow 2 -Offset 8 -ForceOff
  87.   This command sets DragASprite to emulate the RISC OS 3 ROM DragASprite
  88.   module, with a solid sprite and shadow 8 OS units away from it. It also
  89.   allows applications to choose whether to have a drop-shadow themselves.
  90.   This, however, is not recommended, as some applications will use them and
  91.   some not, which leads to an inconsistent desktop.
  92. *DragType -Sprite 1 -Shadow 1 -Offset 8 -ForceOff
  93.   This command emulates the patched DragASprites that come from Acorn User,
  94.   Acorn Computing, various PD programs, and certain other sources (ahem).
  95.   Both the sprite and the shadow are semi-transparent, which doesn't look all
  96.   that good, but it is better than the others with its alternating dither
  97.   pattern.
  98. *DragType -Sprite 1 -Shadow 0 -Offset 12 -ForceOn
  99.   This command is the default setup, a semi-transparent sprite with no
  100.   shadow. Looks good and has the useful advantage of allowing you to see the
  101.   icon you are dropping the sprite on to.
  102. *DragType -Sprite 2 -Shadow 1 -Offset 12 -ForceOn
  103.   This command gives a solid sprite with a semi-transparent shadow, which
  104.   looks good (IMHO better than the default) if you don't mind more
  105.   icon-obscuring. The shadow is also further away from the sprite than RISC
  106.   OS has it, I think it looks clearer at this distance.
  107.  
  108. Feel free to experiment with the DragType settings, but I don't recommend
  109. solid shadows with semi-transparent sprites, or huge shadow offsets! If you
  110. always work in high-resolution modes, you may prefer an offset of 10.
  111.  
  112. Once you've decided what you like, we recommend you put DragASprite+ in your
  113. boot sequence, if you have one. If your favourite DragType is not the default
  114. put the new command in to. If you have no boot sequence, it's a bit of a pain
  115. double-clicking on DragASprite and maybe entering a command every time you
  116. turn on, so make a boot sequence today!
  117.  
  118. Some applications will ignore the setting of the battery-backed RAM
  119. DragASprite flags, and either use sprite drags when they shouldn't, or use
  120. an old-style dash-box when they should drag a sprite. The first case is
  121. easy to deal with - Just enter *DragType -Sprite 0, and all sprite drags will
  122. get a dash-box instead. The second case is not so easy - applications built
  123. for RISC OS 2, including Acorn's applications, will not know about
  124. DragASprite, and will make a dash-box themselves. This will also happen with
  125. applications that decide whether or not to use sprite drags by looking at the
  126. OS version number, if you are running RISC OS 2 - they assume that
  127. DragASprite is only available on RISC OS 3, and of course it used to be.
  128. To get these programs to use sprite drags, you'll have to get one of those
  129. programs that forces sprite drags on everything. I think there's one called
  130. WIMPPatch. Another thing that might be a good idea is a patch to make the
  131. filer and pinboard use sprite drags. Ahem.
  132.  
  133. ===> Interesting(ish) miscellany
  134.  
  135. Acorn decided that they would not allow people to soft-load a copy of RISC OS
  136. 3's DragASprite module into RISC OS 2 for some unknown reason. They did this
  137. by having an unnecessary SWI call at the start that crashed RISC OS 2. This
  138. implementation (which is, after all, a FULL re-code, no Acorn code has been
  139. used - actually, you wouldn't like to know what RISC OS 3 does when the
  140. sprite doesn't fit within graphics window, it's completely horrible :-6 )
  141. does not include this call and therefore you can use this module on all
  142. known operating systems to date.
  143.  
  144. For 256 colour sprites this version of DragASprite will correctly handle them
  145. in 256 colour modes, but in 16 colour modes it will produce a black 'ghost'
  146. sprite to represent the icon - the best you can do without using ColourTrans.
  147. I may produce a version that does use ColourTrans, if anyone cares.
  148.  
  149. This module is VIDC20 aware, but not VIDC20 tested. It should work properly
  150. with 16- and 32-bit colour modes, but I haven't got a machine that runs in
  151. these modes ...yet... so I can't test it.
  152.  
  153. Semi-transparent sprites look much better in high-res modes (although still
  154. looking fine, and much better than completely solid drags, in TV-res modes)
  155. because the gap between each pixel is